Preserve library order between file paths and libs specified via flags#142
Open
piodul wants to merge 1 commit intorust-lang:masterfrom
Open
Preserve library order between file paths and libs specified via flags#142piodul wants to merge 1 commit intorust-lang:masterfrom
piodul wants to merge 1 commit intorust-lang:masterfrom
Conversation
pkg-config files can specify library dependencies in two main ways: via -l or -L flags (e.g. -lstdc++) or via a filesystem paths. Currently, pkg-config-rs does not preserve the order between them when generating cargo commands - it prints commands for the first kind, then for the second. Some linkers are sensitive to the order in which libraries are specified, so this behavior won't work with pkg-config files in which a library specified via a path depends on a library specified via an -l flag. This commit ensures that the generated cargo commands are correctly ordered with respect to the order in which libraries are specified in the pkg-config output.
Author
|
Although just fixing the order of cargo commands is sufficient for my case, there is a similar problem with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pkg-config files can specify library dependencies in two main ways: via -l or -L flags (e.g. -lstdc++) or via a filesystem paths. Currently, pkg-config-rs does not preserve the order between them when generating cargo commands - it prints commands for the first kind, then for the second. Some linkers are sensitive to the order in which libraries are specified, so this behavior won't work with pkg-config files in which a library specified via a path depends on a library specified via an -l flag.
This PR ensures that the generated cargo commands are correctly ordered with respect to the order in which libraries are specified in the pkg-config output.