1PKGCONF(1) BSD General Commands Manual PKGCONF(1)
2
4 pkgconf — a system for configuring build dependency information
5
7 pkgconf [options] [list of modules]
8
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
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
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 unable
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
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
158 --fragment-filter=TYPES
159 Filter the fragment lists for the specified types.
160
161 --modversion
162 Print the version of the queried module.
163
165 PKG_CONFIG_PATH
166 List of secondary directories where ‘.pc’ files are looked up.
167
168 PKG_CONFIG_LIBDIR
169 List of primary directories where ‘.pc’ files are looked up.
170
171 PKG_CONFIG_SYSROOT_DIR
172 ‘sysroot’ directory, will be prepended to every path defined in
173 PKG_CONFIG_PATH. Useful for cross compilation.
174
175 PKG_CONFIG_TOP_BUILD_DIR
176 Provides an alternative setting for the ‘pc_top_builddir’ global
177 variable.
178
179 PKG_CONFIG_PURE_DEPGRAPH
180 If set, enables the same behaviour as the --pure flag.
181
182 PKG_CONFIG_SYSTEM_INCLUDE_PATH
183 List of paths that are considered system include paths by the
184 toolchain. This is a pkgconf-specific extension.
185
186 PKG_CONFIG_SYSTEM_LIBRARY_PATH
187 List of paths that are considered system library paths by the
188 toolchain. This is a pkgconf-specific extension.
189
190 PKG_CONFIG_DISABLE_UNINSTALLED
191 If set, enables the same behaviour as the --no-uninstalled flag.
192
193 PKG_CONFIG_LOG
194 ‘logfile’ which is used for dumping audit information concerning
195 installed module versions.
196
197 PKG_CONFIG_DEBUG_SPEW
198 If set, enables additional debug logging. The format of the
199 debug log messages is implementation-specific.
200
201 PKG_CONFIG_DONT_RELOCATE_PATHS
202 If set, disables the path relocation feature.
203
205 Displaying the CFLAGS of a package:
206 $ pkgconf --cflags foo
207 -fPIC -I/usr/include/foo
208
210 pc(5), pkg.m4(7)
211
212BSD November 15, 2016 BSD