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