Crate pkg_config[−][src]
A build dependency for Cargo libraries to find system artifacts through the
pkg-config
utility.
This library will shell out to pkg-config
as part of build scripts and
probe the system to determine how to link to a specified library. The
Config
structure serves as a method of configuring how pkg-config
is
invoked in a builder style.
A number of environment variables are available to globally configure how
this crate will invoke pkg-config
:
PKG_CONFIG_ALLOW_CROSS
- if this variable is not set, thenpkg-config
will automatically be disabled for all cross compiles.FOO_NO_PKG_CONFIG
- if set, this will disable runningpkg-config
when probing for the library namedfoo
.
There are also a number of environment variables which can configure how a
library is linked to (dynamically vs statically). These variables control
whether the --static
flag is passed. Note that this behavior can be
overridden by configuring explicitly on Config
. The variables are checked
in the following order:
FOO_STATIC
- pass--static
for the libraryfoo
FOO_DYNAMIC
- do not pass--static
for the libraryfoo
PKG_CONFIG_ALL_STATIC
- pass--static
for all librariesPKG_CONFIG_ALL_DYNAMIC
- do not pass--static
for all libraries
After running pkg-config
all appropriate Cargo metadata will be printed on
stdout if the search was successful.
Example
Find the system library named foo
, with minimum version 1.2.3:
extern crate pkg_config; fn main() { pkg_config::Config::new().atleast_version("1.2.3").probe("foo").unwrap(); }
Find the system library named foo
, with no version requirement (not
recommended):
extern crate pkg_config; fn main() { pkg_config::probe_library("foo").unwrap(); }
Configure how library foo
is linked to.
extern crate pkg_config; fn main() { pkg_config::Config::new().atleast_version("1.2.3").statik(true).probe("foo").unwrap(); }
Structs
Config | |
Library |
Enums
Error |
Represents all reasons |
Functions
get_variable |
Run |
probe_library |
Simple shortcut for using all default options for finding a library. |
target_supported |