pkgconf/man/pkgconf.1.scd

234 lines
6.8 KiB
Plaintext
Raw Normal View History

PKGCONF(1)
; SPDX-FileCopyrightText: 2022 pkgconf authors
; SPDX-License-Identifier: ISC
# 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)