All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Remove double
cargo:
prefix from linker line (#168).
-
Update documentation for cross-compilation (#161).
-
Update GitHub Action CI (#160).
-
Detection and usage of Windows static libraries (#154).
-
Passing
-Wl,-u
to the linker if specified in the pkg-config file (#154).
- Pass -l:libfoo.a to linker directly (#149).
- Improve error message when library not found (#158).
- Support falling back to
pkgconf
ifpkg-config
is not available (#145).
-
Simplify running
pkg-config
(#144). -
Document MSRV in
Cargo.toml
viarust-version
. -
Fix a couple of minor clippy warnings (#147).
- Support for handling full paths to libraries in addition to normal
-l
linker flags (#134).
- Support for parsing
-Wl
linker arguments from theLibs
lines and passing them to the linker as well as making them available viaLibrary::ld_args
(#131).
- Use SPDX license format and remove obsolete badge info (#129).
- Re-add
target_supported()
, which was accidentally removed in 0.3.15 (#128).
- Improve error messages when a
pkg-config
package can't be found (#127).
pkg-config
compiles again with Rust 1.30 or newer. 0.3.21 accidentally made use of API only available since 1.40 (#124, #125).
- Switched from Travis to GitHub Actions for the CI. Travis is dysfunctional since quite some time (#126).
- Tests succeed again on macOS (#122).
- Improve error message in case of missing pkg-config and provide instructions how it can be installed (#121).
- Use target-specific pkg-config consistently everywhere (#121, #118).
-
Add
README.md
to be displayed on crates.io (#111). -
Support for
-isystem
,-iquote
and-idirafter
include flags (#115).
-
Improve documentation for cross-compilation (#113).
-
Allow overriding system root via the
PKG_CONFIG_SYSROOT_DIR
orSYSROOT
environment variable (#82).
- Use
env::var_os()
almost everywhere to handle non-UTF8 paths in environment variables, and also improve error handling around environment variable handling (#106).
- Default the
env_metadata
build parameter totrue
instead offalse
. Whenever a pkg-config related environment variable changes it would make sense to rebuild crates that use pkg-config, or otherwise changes might not be picked up. As such the previous default didn't make much sense (#105).
- Fix support for multiple version number constraints (#95)
- Stop using deprecated functions and require Rust 1.30 (#84)
- Fix repository URL in README.md
- Fix various clippy warnings
- Run
cargo fmt
as part of the CI (#89) - Derive
Clone
forLibrary
andDebug
for `Config (#91) - Add support for
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
and enable by default (#93)
- Changes minimum documented rust version to 1.28 (#76)
- Fix Travis CI badge url (#78)
- Fix project name in README.md (#81)
- Support specifying range of versions (#75)
- Allow cross-compilation if pkg-config is customized (#44, #86)
- Don't append .lib suffix on MSVC builds (#72)
- Fix MSVC support to actually work and consider library paths too (#71)
- Support for MSVC (#70)
- Document and test Rust 1.13 as minimally supported version (#66)
- Re-added AsciiExt import (#65)
- Allow static linking of /usr/ on macOS (#42)
- Add support for parsing
-Wl,
style framework flags (#48) - Parse defines in
pkg-config
output (#49) - Rerun on
PKG_CONFIG_PATH
changes (#50) - Introduce target-scoped variables (#58)
- Respect pkg-config escaping rules used with --cflags and --libs (#61)
- Use
?
instead oftry!()
in the codebase (#63)