pkg-config

PKGCONF(1)                 BSD General Commands Manual                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 libraries.  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.

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

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

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

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

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

SEE ALSO
     pc(5), pkg.m4(7)

BSD                             November 15, 2016                            BSD