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
pc(5),
pkg.m4(7)