PKGCONF

Section: User Commands (1)
Page Index

BSD mandoc
 

NAME

pkgconf - a system for configuring build dependency information  

SYNOPSIS

[options ] [list of modules ]  

DESCRIPTION

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
GENERAL OPTIONS
MODULE-SPECIFIC OPTIONS
QUERY-SPECIFIC OPTIONS
ENVIRONMENT
EXAMPLES
SEE ALSO