1PKGCONF(1)                BSD General Commands Manual               PKGCONF(1)
2

NAME

4     pkgconf — a system for configuring build dependency information
5

SYNOPSIS

7     pkgconf [options] [list of modules]
8

DESCRIPTION

10     pkgconf is a program which helps to configure compiler and linker flags
11     for development libraries. This allows build systems to detect other
12     dependencies and use them with the system toolchain.
13

GENERAL OPTIONS

15     --version
16             Display the supported pkg-config version and exit.
17
18     --atleast-pkgconfig-version=VERSION
19             Exit with error if we do not support the requested pkg-config
20             version.
21
22     --errors-to-stdout
23             Print all errors on the main output stream instead of the error
24             output stream.
25
26     --silence-errors
27             Do not display any errors at all.
28
29     --list-all
30             Walk all directories listed in the PKG_CONFIG_PATH environmental
31             variable and display information on packages which have regis‐
32             tered information there.
33
34     --simulate
35             Simulates resolving a dependency graph based on the requested
36             modules on the command line. Dumps a series of trees denoting
37             pkgconf's resolver state.
38
39     --no-cache
40             Skip caching packages when they are loaded into the internal
41             resolver.  This may result in an alternate dependency graph being
42             computed.
43
44     --ignore-conflicts
45             Ignore ‘Conflicts’ rules in modules.
46
47     --env-only
48             Learn about pkgconf's configuration strictly from environmental
49             variables.
50
51     --maximum-traverse-depth=DEPTH
52             Impose a limit on the allowed depth in the dependency graph.  For
53             example, a depth of 2 will restrict the resolver from acting on
54             child dependencies of modules added to the resolver's solution.
55
56     --static
57             Compute a deeper dependency graph and use compiler/linker flags
58             intended for static linking.
59
60     --pure  Treats the computed dependency graph as if it were pure. This is
61             mainly intended for use with the --static flag.
62
63     --no-provides
64             Ignore ‘Provides’ rules in modules when resolving dependencies.
65
66     --with-path=PATH
67             Adds a new module search path to pkgconf's dependency resolver.
68             Paths added in this way are given preference before other paths.
69
70     --define-prefix
71             Attempts to determine the prefix variable to use for CFLAGS and
72             LIBS entry relocations.  This is mainly useful for platforms
73             where framework SDKs are relocatable, such as Windows.
74
75     --dont-define-prefix
76             Disables the ‘define-prefix’ feature.
77
78     --prefix-variable=VARIABLE
79             Sets the ‘prefix’ variable used by the ‘define-prefix’ feature.
80
81     --relocate=PATH
82             Relocates a path using the pkgconf_path_relocate API.  This is
83             mainly used by the testsuite to provide a guaranteed interface to
84             the system's path relocation backend.
85
86     --dont-relocate-paths
87             Disables the path relocation feature.
88

MODULE-SPECIFIC OPTIONS

90     --atleast-version=VERSION
91             Exit with error if a module's version is less than the specified
92             version.
93
94     --exact-version=VERSION
95             Exit with error if a module's version is not exactly the speci‐
96             fied version.
97
98     --max-version=VERSION
99             Exit with error if a module's version is greater than the speci‐
100             fied version.
101
102     --exists
103             Exit with a non-zero result if the dependency resolver was able
104             to find all of the requested modules.
105
106     --uninstalled
107             Exit with a non-zero result if the dependency resolver uses an
108             ‘uninstalled’ module as part of it's solution.
109
110     --no-uninstalled
111             Forbids the dependency resolver from considering 'uninstalled'
112             modules as part of a solution.
113

QUERY-SPECIFIC OPTIONS

115     --cflags, --cflags-only-I, --cflags-only-other
116             Display either all CFLAGS, only -I CFLAGS or only CFLAGS that are
117             not -I.
118
119     --libs, --libs-only-L, --libs-only-l, --libs-only-other
120             Display either all linker flags, only -L linker flags, only -l
121             linker flags or only linker flags that are not -L or -l.
122
123     --keep-system-cflags, --keep-system-libs
124             Keep CFLAGS or linker flag fragments that would be filtered due
125             to being included by default in the compiler.
126
127     --define-variable=VARNAME=VALUE
128             Define VARNAME as VALUE.  Variables are used in query output, and
129             some modules' results may change based on the presence of a vari‐
130             able definition.
131
132     --print-variables
133             Print all seen variables for a module to the output channel.
134
135     --print-provides
136             Print all relevant ‘Provides’ entries for a module to the output
137             channel.
138
139     --variable=VARNAME
140             Print the value of VARNAME.
141
142     --print-requires, --print-requires-private
143             Print the modules included in either the Requires field or the
144             Requires.private field.
145
146     --digraph
147             Dump the dependency resolver's solution as a graphviz ‘dot’ file.
148             This can be used with graphviz to visualize module interdependen‐
149             cies.
150
151     --path  Display the filenames of the ‘.pc’ files used by the dependency
152             resolver for a given dependency set.
153
154     --env=VARNAME
155             Print the requested values as variable declarations in a similar
156             format as the env(1) command.
157

ENVIRONMENT

159     PKG_CONFIG_PATH
160             List of secondary directories where ‘.pc’ files are looked up.
161
162     PKG_CONFIG_LIBDIR
163             List of primary directories where ‘.pc’ files are looked up.
164
165     PKG_CONFIG_SYSROOT_DIR
166             ‘sysroot’ directory, will be prepended to every path defined in
167             PKG_CONFIG_PATH.  Useful for cross compilation.
168
169     PKG_CONFIG_TOP_BUILD_DIR
170             Provides an alternative setting for the ‘pc_top_builddir’ global
171             variable.
172
173     PKG_CONFIG_PURE_DEPGRAPH
174             If set, enables the same behaviour as the --pure flag.
175
176     PKG_CONFIG_SYSTEM_INCLUDE_PATH
177             List of paths that are considered system include paths by the
178             toolchain.  This is a pkgconf-specific extension.
179
180     PKG_CONFIG_SYSTEM_LIBRARY_PATH
181             List of paths that are considered system library paths by the
182             toolchain.  This is a pkgconf-specific extension.
183
184     PKG_CONFIG_DISABLE_UNINSTALLED
185             If set, enables the same behaviour as the --no-uninstalled flag.
186
187     PKG_CONFIG_LOG
188             ‘logfile’ which is used for dumping audit information concerning
189             installed module versions.
190
191     PKG_CONFIG_DEBUG_SPEW
192             If set, enables additional debug logging. The format of the debug
193             log messages is implementation-specific.
194
195     PKG_CONFIG_DONT_RELOCATE_PATHS
196             If set, disables the path relocation feature.
197

EXAMPLES

199     Displaying the CFLAGS of a package:
200           $ pkgconf --cflags foo
201           -fPIC -I/usr/include/foo
202

SEE ALSO

204     pkg.m4(7), pc(5)
205
206BSD                            November 15, 2016                           BSD
Impressum