Preserve library order between file paths and libs specified via flags #142
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.