PKGCONF(1)

NAME
pkgconf - a system for configuring build dependency information

SYNOPSIS
pkgconf [options] [list of modules]

DESCRIPTION
pkgconf is a program which helps to configure compiler and linker flags for development frameworks. This allows build systems to detect other dependencies and use them with the system toolchain.

GENERAL OPTIONS

--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.

--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.

MODULE-SPECIFIC OPTIONS

--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 able 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 it's solution.

--no-uninstalled
    Forbids the dependency resolver from considering 'uninstalled' modules as part of a solution.

QUERY-SPECIFIC OPTIONS

--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.

--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.

ENVIRONMENT

PKG_CONFIG_PATH
    List of 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.

EXAMPLES
Displaying the CFLAGS of a package:
    $ pkgconf --cflags foo
    -fPIC -I/usr/include/foo