pkgconf
— a system
for configuring build dependency information
pkgconf |
[options] [list of
modules] |
pkgconf
is a program which helps to
configure compiler and linker flags for development libraries. This allows
build systems to detect other dependencies and use them with the system
toolchain.
--version
- Display the supported pkg-config version and exit.
--atleast-pkgconfig-version
=VERSION
- Exit with error if we do not support the requested pkg-config
version.
--errors-to-stdout
- Print all errors on the main output stream instead of the error output
stream.
--silence-errors
- Do not display any errors at all.
--list-all
- Walk all directories listed in the PKG_CONFIG_PATH
environmental variable and display information on packages which have
registered information there.
--simulate
- Simulates resolving a dependency graph based on the requested modules on
the command line. Dumps a series of trees denoting pkgconf's resolver
state.
--no-cache
- Skip caching packages when they are loaded into the internal resolver.
This may result in an alternate dependency graph being computed.
--ignore-conflicts
- Ignore ‘Conflicts’ rules in modules.
--env-only
- Learn about pkgconf's configuration strictly from environmental
variables.
--validate
package ...
- Validate specific ‘.pc’ files for correctness.
--maximum-traverse-depth
=DEPTH
- Impose a limit on the allowed depth in the dependency graph. For example,
a depth of 2 will restrict the resolver from acting on child dependencies
of modules added to the resolver's solution.
--static
- Compute a deeper dependency graph and use compiler/linker flags intended
for static linking.
--shared
- Compute a simple dependency graph that is only suitable for shared
linking.
--pure
- Treats the computed dependency graph as if it were pure. This is mainly
intended for use with the
--static
flag.
--no-provides
- Ignore ‘Provides’ rules in modules when resolving
dependencies.
--with-path
=PATH
- Adds a new module search path to pkgconf's dependency resolver. Paths
added in this way are given preference before other paths.
--define-prefix
- Attempts to determine the prefix variable to use for CFLAGS and LIBS entry
relocations. This is mainly useful for platforms where framework SDKs are
relocatable, such as Windows.
--dont-define-prefix
- Disables the ‘define-prefix’ feature.
--prefix-variable
=VARIABLE
- Sets the ‘prefix’ variable used by the
‘define-prefix’ feature.
--relocate
=PATH
- Relocates a path using the pkgconf_path_relocate API. This is mainly used
by the testsuite to provide a guaranteed interface to the system's path
relocation backend.
--dont-relocate-paths
- Disables the path relocation feature.
--atleast-version
=VERSION
- Exit with error if a module's version is less than the specified
version.
--exact-version
=VERSION
- Exit with error if a module's version is not exactly the specified
version.
--max-version
=VERSION
- Exit with error if a module's version is greater than the specified
version.
--exists
- Exit with a non-zero result if the dependency resolver was unable to find
all of the requested modules.
--uninstalled
- Exit with a non-zero result if the dependency resolver uses an
‘uninstalled’ module as part of its solution.
--no-uninstalled
- Forbids the dependency resolver from considering 'uninstalled' modules as
part of a solution.
--cflags
,
--cflags-only-I
,
--cflags-only-other
- Display either all CFLAGS, only
-I
CFLAGS or only
CFLAGS that are not -I
.
--libs
,
--libs-only-L
,
--libs-only-l
,
--libs-only-other
- Display either all linker flags, only
-L
linker
flags, only -l
linker flags or only linker flags
that are not -L
or
-l
.
--keep-system-cflags
,
--keep-system-libs
- Keep CFLAGS or linker flag fragments that would be filtered due to being
included by default in the compiler.
--define-variable
=VARNAME=VALUE
- Define VARNAME as VALUE.
Variables are used in query output, and some modules' results may change
based on the presence of a variable definition.
--print-variables
- Print all seen variables for a module to the output channel.
--print-provides
- Print all relevant ‘Provides’ entries for a module to the
output channel.
--variable
=VARNAME
- Print the value of VARNAME.
--print-requires
,
--print-requires-private
- Print the modules included in either the Requires
field or the Requires.private field.
--digraph
- Dump the dependency resolver's solution as a graphviz ‘dot’
file. This can be used with graphviz to visualize module
interdependencies.
--path
- Display the filenames of the ‘.pc’ files used by the
dependency resolver for a given dependency set.
--env
=VARNAME
- Print the requested values as variable declarations in a similar format as
the env(1) command.
--fragment-filter
=TYPES
- Filter the fragment lists for the specified types.
--modversion
- Print the version of the queried module.
- PKG_CONFIG_PATH
- List of secondary directories where ‘.pc’ files are looked
up.
- PKG_CONFIG_LIBDIR
- List of primary directories where ‘.pc’ files are looked
up.
- PKG_CONFIG_SYSROOT_DIR
- ‘sysroot’ directory, will be prepended to every path defined
in PKG_CONFIG_PATH. Useful for cross
compilation.
- PKG_CONFIG_TOP_BUILD_DIR
- Provides an alternative setting for the ‘pc_top_builddir’
global variable.
- PKG_CONFIG_PURE_DEPGRAPH
- If set, enables the same behaviour as the
--pure
flag.
- PKG_CONFIG_SYSTEM_INCLUDE_PATH
- List of paths that are considered system include paths by the toolchain.
This is a pkgconf-specific extension.
- PKG_CONFIG_SYSTEM_LIBRARY_PATH
- List of paths that are considered system library paths by the toolchain.
This is a pkgconf-specific extension.
- PKG_CONFIG_DISABLE_UNINSTALLED
- If set, enables the same behaviour as the
--no-uninstalled
flag.
- PKG_CONFIG_LOG
- ‘logfile’ which is used for dumping audit information
concerning installed module versions.
- PKG_CONFIG_DEBUG_SPEW
- If set, enables additional debug logging. The format of the debug log
messages is implementation-specific.
- PKG_CONFIG_DONT_RELOCATE_PATHS
- If set, disables the path relocation feature.
- PKG_CONFIG_MSVC_SYNTAX
- If set, uses MSVC syntax for fragments.
- PKG_CONFIG_FDO_SYSROOT_RULES
- If set, follow the sysroot prefixing rules that freedesktop.org pkg-config
uses.
- DESTDIR
- If set to PKG_CONFIG_SYSROOT_DIR, assume that PKG_CONFIG_FDO_SYSROOT_RULES
is set.
Displaying the CFLAGS of a package:
$ pkgconf --cflags foo
-fPIC -I/usr/include/foo