Manpages

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.

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

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

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.

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