xref: /freebsd/contrib/pkgconf/man/pkgconf.1 (revision a3cefe7f2b4df0f70ff92d4570ce18e517af43ec)
1*a3cefe7fSPierre Pronchery.\" Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016 pkgconf authors (see AUTHORS).
2*a3cefe7fSPierre Pronchery.\"
3*a3cefe7fSPierre Pronchery.\" Permission to use, copy, modify, and/or distribute this software for any
4*a3cefe7fSPierre Pronchery.\" purpose with or without fee is hereby granted, provided that the above
5*a3cefe7fSPierre Pronchery.\" copyright notice and this permission notice appear in all copies.
6*a3cefe7fSPierre Pronchery.\"
7*a3cefe7fSPierre Pronchery.\" This software is provided 'as is' and without any warranty, express or
8*a3cefe7fSPierre Pronchery.\" implied.  In no event shall the authors be liable for any damages arising
9*a3cefe7fSPierre Pronchery.\" from the use of this software.
10*a3cefe7fSPierre Pronchery.Dd November 15, 2016
11*a3cefe7fSPierre Pronchery.Dt PKGCONF 1
12*a3cefe7fSPierre Pronchery.Os
13*a3cefe7fSPierre Pronchery.Sh NAME
14*a3cefe7fSPierre Pronchery.Nm pkgconf
15*a3cefe7fSPierre Pronchery.Nd a system for configuring build dependency information
16*a3cefe7fSPierre Pronchery.Sh SYNOPSIS
17*a3cefe7fSPierre Pronchery.Nm
18*a3cefe7fSPierre Pronchery.Op Ar options
19*a3cefe7fSPierre Pronchery.Ar module ...
20*a3cefe7fSPierre Pronchery.Sh DESCRIPTION
21*a3cefe7fSPierre ProncheryThe
22*a3cefe7fSPierre Pronchery.Nm
23*a3cefe7fSPierre Proncheryprogram retrieves configuration information related to the
24*a3cefe7fSPierre Pronchery.Ar module
25*a3cefe7fSPierre Proncheryarguments from
26*a3cefe7fSPierre Pronchery.Xr pc 5
27*a3cefe7fSPierre Proncheryfiles installed on the system and prints parts of the retrieved
28*a3cefe7fSPierre Proncheryinformation depending on the specified
29*a3cefe7fSPierre Pronchery.Ar options .
30*a3cefe7fSPierre ProncheryThe most common use is printing the compiler and linker flags needed
31*a3cefe7fSPierre Proncheryto build software that uses the libraries given by the
32*a3cefe7fSPierre Pronchery.Ar module
33*a3cefe7fSPierre Proncheryarguments.
34*a3cefe7fSPierre Pronchery.Pp
35*a3cefe7fSPierre ProncheryThe
36*a3cefe7fSPierre Pronchery.Xr pc 5
37*a3cefe7fSPierre Proncheryfiles are searched for along a path constructed from the
38*a3cefe7fSPierre Pronchery.Fl -with-path
39*a3cefe7fSPierre Proncheryoption, the
40*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_PATH
41*a3cefe7fSPierre Proncheryand
42*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR
43*a3cefe7fSPierre Proncheryenvironment variables, and some compiled-in default directories.
44*a3cefe7fSPierre ProncheryThe
45*a3cefe7fSPierre Pronchery.Ar module
46*a3cefe7fSPierre Proncheryarguments correspond to the file names, but without the
47*a3cefe7fSPierre Pronchery.Pa .pc
48*a3cefe7fSPierre Proncheryfilename extension.
49*a3cefe7fSPierre Pronchery.Pp
50*a3cefe7fSPierre ProncherySeveral of the
51*a3cefe7fSPierre Pronchery.Ar options
52*a3cefe7fSPierre Proncherycause immediate exit.
53*a3cefe7fSPierre ProncheryIf multiple of these options are given, only the option with the
54*a3cefe7fSPierre Proncheryhighest priority takes effect and those with lower priority are
55*a3cefe7fSPierre Proncherysilently ignored.
56*a3cefe7fSPierre ProncheryThese options are, ordered by descending priority:
57*a3cefe7fSPierre Pronchery.Bl -enum
58*a3cefe7fSPierre Pronchery.It
59*a3cefe7fSPierre ProncheryNo-module options:
60*a3cefe7fSPierre Pronchery.Fl -relocate ,
61*a3cefe7fSPierre Pronchery.Fl -dump-personality ,
62*a3cefe7fSPierre Pronchery.Fl -about ,
63*a3cefe7fSPierre Pronchery.Fl -version ,
64*a3cefe7fSPierre Pronchery.Fl -help ,
65*a3cefe7fSPierre Pronchery.Fl -atleast-pkgconfig-version ,
66*a3cefe7fSPierre Pronchery.Fl -list-all ,
67*a3cefe7fSPierre Proncheryand
68*a3cefe7fSPierre Pronchery.Fl -list-package-names :
69*a3cefe7fSPierre ProncheryThese options cause all arguments to be ignored.
70*a3cefe7fSPierre Pronchery.It
71*a3cefe7fSPierre ProncheryArgument-only options:
72*a3cefe7fSPierre Pronchery.Fl -atleast-version ,
73*a3cefe7fSPierre Pronchery.Fl -exact-version ,
74*a3cefe7fSPierre Proncheryand
75*a3cefe7fSPierre Pronchery.Fl -max-version :
76*a3cefe7fSPierre ProncheryThese options only inspect modules explicitly specified on the
77*a3cefe7fSPierre Proncherycommand line and do not look at dependencies.
78*a3cefe7fSPierre Pronchery.It
79*a3cefe7fSPierre ProncheryLimited-output options:
80*a3cefe7fSPierre Pronchery.Fl -validate ,
81*a3cefe7fSPierre Pronchery.Fl -license ,
82*a3cefe7fSPierre Pronchery.Fl -uninstalled ,
83*a3cefe7fSPierre Proncheryand
84*a3cefe7fSPierre Pronchery.Fl -env :
85*a3cefe7fSPierre ProncheryThese options perform dependency resolution, but exit after printing
86*a3cefe7fSPierre Proncherythe information requested by the highest-priority option,
87*a3cefe7fSPierre Proncheryignoring other output options that may have been specified.
88*a3cefe7fSPierre Pronchery.El
89*a3cefe7fSPierre Pronchery.Pp
90*a3cefe7fSPierre ProncherySeveral other options require at least one
91*a3cefe7fSPierre Pronchery.Ar module
92*a3cefe7fSPierre Proncheryargument, produce output, do not cause early exit, can be combined
93*a3cefe7fSPierre Proncherywith each other, but override and disable all
94*a3cefe7fSPierre Pronchery.Fl -cflags
95*a3cefe7fSPierre Proncheryand
96*a3cefe7fSPierre Pronchery.Fl -libs
97*a3cefe7fSPierre Proncheryoptions:
98*a3cefe7fSPierre Pronchery.Bl -enum
99*a3cefe7fSPierre Pronchery.It
100*a3cefe7fSPierre ProncherySingle-module output options:
101*a3cefe7fSPierre Pronchery.Fl -path ,
102*a3cefe7fSPierre Pronchery.Fl -print-variables ,
103*a3cefe7fSPierre Pronchery.Fl -variable :
104*a3cefe7fSPierre ProncheryIf any of these options is specified, only the first
105*a3cefe7fSPierre Pronchery.Ar module
106*a3cefe7fSPierre Proncheryargument is used, all other arguments are silently ignored,
107*a3cefe7fSPierre Proncheryand no dependency resolution is attempted.
108*a3cefe7fSPierre Pronchery.It
109*a3cefe7fSPierre ProncheryDepth-one output options:
110*a3cefe7fSPierre Pronchery.Fl -print-provides ,
111*a3cefe7fSPierre Pronchery.Fl -modversion ,
112*a3cefe7fSPierre Pronchery.Fl -print-requires ,
113*a3cefe7fSPierre Proncheryand
114*a3cefe7fSPierre Pronchery.Fl -print-requires-private :
115*a3cefe7fSPierre ProncheryIf any of these options is specified, only modules
116*a3cefe7fSPierre Proncheryexplicitly specified on the command line are inspected
117*a3cefe7fSPierre Proncheryand no dependency resolution is attempted.
118*a3cefe7fSPierre Pronchery.It
119*a3cefe7fSPierre ProncheryGeneral output options:
120*a3cefe7fSPierre Pronchery.Fl -simulate ,
121*a3cefe7fSPierre Pronchery.Fl -digraph ,
122*a3cefe7fSPierre Pronchery.Fl -solution ,
123*a3cefe7fSPierre Pronchery.Fl -fragment-tree :
124*a3cefe7fSPierre ProncheryThese options do not limit dependency resolution.
125*a3cefe7fSPierre Pronchery.El
126*a3cefe7fSPierre Pronchery.Pp
127*a3cefe7fSPierre ProncheryThe most important output options
128*a3cefe7fSPierre Pronchery.Fl -cflags
129*a3cefe7fSPierre Proncheryand
130*a3cefe7fSPierre Pronchery.Fl -libs
131*a3cefe7fSPierre Proncherycan be combined with each other, but are overridden and ignored if
132*a3cefe7fSPierre Proncheryany of the options listed above are specified.
133*a3cefe7fSPierre Pronchery.Pp
134*a3cefe7fSPierre ProncheryThe complete list of
135*a3cefe7fSPierre Pronchery.Ar options
136*a3cefe7fSPierre Proncheryis as follows:
137*a3cefe7fSPierre Pronchery.Bl -tag -width indent
138*a3cefe7fSPierre Pronchery.It Fl -about
139*a3cefe7fSPierre ProncheryPrint the version number, the Copyright notice, and the license of the
140*a3cefe7fSPierre Pronchery.Nm
141*a3cefe7fSPierre Proncheryprogram to standard output and exit.
142*a3cefe7fSPierre ProncheryMost other options and all command line arguments are ignored.
143*a3cefe7fSPierre Pronchery.It Fl -atleast-pkgconfig-version Ns = Ns Ar version
144*a3cefe7fSPierre ProncheryExit with error if the requested
145*a3cefe7fSPierre Pronchery.Ar version
146*a3cefe7fSPierre Proncherynumber is greater than the version number of the
147*a3cefe7fSPierre Pronchery.Nm
148*a3cefe7fSPierre Proncheryprogram, or with success otherwise.
149*a3cefe7fSPierre ProncheryMost other options and all command line arguments are ignored.
150*a3cefe7fSPierre Pronchery.It Fl -atleast-version Ns = Ns Ar version
151*a3cefe7fSPierre ProncheryCheck the
152*a3cefe7fSPierre Pronchery.Ar module
153*a3cefe7fSPierre Proncheryarguments in the given order.
154*a3cefe7fSPierre ProncheryExit with error as soon as a
155*a3cefe7fSPierre Pronchery.Ar module
156*a3cefe7fSPierre Proncherydoes not exist, and exit with success as soon as the version number of a
157*a3cefe7fSPierre Pronchery.Ar module
158*a3cefe7fSPierre Proncheryis greater than or equal to the requested
159*a3cefe7fSPierre Pronchery.Ar version
160*a3cefe7fSPierre Proncherynumber.
161*a3cefe7fSPierre ProncheryExit with error if the version number of each
162*a3cefe7fSPierre Pronchery.Ar module
163*a3cefe7fSPierre Proncheryis less than the requested
164*a3cefe7fSPierre Pronchery.Ar version
165*a3cefe7fSPierre Proncherynumber.
166*a3cefe7fSPierre Pronchery.It Fl -cflags , Fl -cflags-only-I , Fl -cflags-only-other
167*a3cefe7fSPierre ProncheryPrint all compiler flags required to compile against the
168*a3cefe7fSPierre Pronchery.Ar module ,
169*a3cefe7fSPierre Proncheryor only the include path
170*a3cefe7fSPierre Pronchery.Pq Fl I
171*a3cefe7fSPierre Proncheryflags, or only the compiler flags that are not include path flags,
172*a3cefe7fSPierre Proncheryrespectively.
173*a3cefe7fSPierre ProncheryThese options imply
174*a3cefe7fSPierre Pronchery.Fl -print-errors .
175*a3cefe7fSPierre Pronchery.It Fl -debug
176*a3cefe7fSPierre ProncheryPrint some non-fatal warning messages to standard error output
177*a3cefe7fSPierre Proncherythat would otherwise silently be ignored.
178*a3cefe7fSPierre ProncheryThis option also implies
179*a3cefe7fSPierre Pronchery.Fl -print-errors .
180*a3cefe7fSPierre ProncheryIf
181*a3cefe7fSPierre Pronchery.Nm
182*a3cefe7fSPierre Proncherywas compiled without defining the preprocessor macro
183*a3cefe7fSPierre Pronchery.Dv PKGCONF_LITE ,
184*a3cefe7fSPierre Proncherythis option also prints many debugging messages to standard error output.
185*a3cefe7fSPierre Pronchery.It Fl -define-prefix
186*a3cefe7fSPierre ProncheryAttempts to determine the prefix variable to use for CFLAGS and LIBS entry relocations.
187*a3cefe7fSPierre ProncheryThis is mainly useful for platforms where framework SDKs are relocatable, such as Windows.
188*a3cefe7fSPierre Pronchery.It Fl -define-variable Ns = Ns Ar varname Ns = Ns Ar value
189*a3cefe7fSPierre ProncheryDefine
190*a3cefe7fSPierre Pronchery.Ar varname
191*a3cefe7fSPierre Proncheryas
192*a3cefe7fSPierre Pronchery.Ar value .
193*a3cefe7fSPierre ProncheryVariables are used in query output, and some modules' results may change based
194*a3cefe7fSPierre Proncheryon the presence of a variable definition.
195*a3cefe7fSPierre Pronchery.It Fl -digraph
196*a3cefe7fSPierre ProncheryDump the dependency resolver's solution as a graphviz
197*a3cefe7fSPierre Pronchery.Sq dot
198*a3cefe7fSPierre Proncheryfile.
199*a3cefe7fSPierre ProncheryThis can be used with graphviz to visualize module interdependencies.
200*a3cefe7fSPierre ProncheryThis option is only available if the preprocessor macro
201*a3cefe7fSPierre Pronchery.Dv PKGCONF_LITE
202*a3cefe7fSPierre Proncherywas not defined during compilation.
203*a3cefe7fSPierre Pronchery.It Fl -dont-define-prefix
204*a3cefe7fSPierre ProncheryDisables the
205*a3cefe7fSPierre Pronchery.Sq define-prefix
206*a3cefe7fSPierre Proncheryfeature.
207*a3cefe7fSPierre Pronchery.It Fl -dont-relocate-paths
208*a3cefe7fSPierre ProncheryDisables the path relocation feature.
209*a3cefe7fSPierre Pronchery.It Fl -dump-personality
210*a3cefe7fSPierre ProncheryPrint some default settings to standard output, in particular
211*a3cefe7fSPierre Proncherythe default module search path that is used when
212*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR
213*a3cefe7fSPierre Proncheryis not defined, the default list of include paths that are filtered out when
214*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH
215*a3cefe7fSPierre Proncheryis not defined,
216*a3cefe7fSPierre Proncheryand the default list of library paths that are filtered out when
217*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSTEM_LIBRARY_PATH
218*a3cefe7fSPierre Proncheryis not defined, and exit.
219*a3cefe7fSPierre ProncheryMost other options and all command line arguments are ignored.
220*a3cefe7fSPierre ProncheryThis option is only available if the preprocessor macro
221*a3cefe7fSPierre Pronchery.Dv PKGCONF_LITE
222*a3cefe7fSPierre Proncherywas not defined during compilation.
223*a3cefe7fSPierre Pronchery.It Fl -env Ns = Ns Ar varname
224*a3cefe7fSPierre ProncheryPrint the requested values as variable declarations in a similar format as the
225*a3cefe7fSPierre Pronchery.Xr env 1
226*a3cefe7fSPierre Proncherycommand.
227*a3cefe7fSPierre Pronchery.It Fl -env-only
228*a3cefe7fSPierre ProncheryInitialize the module search path from
229*a3cefe7fSPierre Pronchery.Fl -with-path
230*a3cefe7fSPierre Proncheryand
231*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_PATH
232*a3cefe7fSPierre Proncheryonly, ignoring
233*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR
234*a3cefe7fSPierre Proncheryand the compiled-in default directories.
235*a3cefe7fSPierre Pronchery.It Fl -errors-to-stdout
236*a3cefe7fSPierre ProncheryPrint all error, warning, and debugging messages to standard output
237*a3cefe7fSPierre Proncheryinstead of to standard error output.
238*a3cefe7fSPierre Pronchery.It Fl -exact-version Ns = Ns Ar version
239*a3cefe7fSPierre ProncheryCheck the
240*a3cefe7fSPierre Pronchery.Ar module
241*a3cefe7fSPierre Proncheryarguments in the given order.
242*a3cefe7fSPierre ProncheryExit with error as soon as a
243*a3cefe7fSPierre Pronchery.Ar module
244*a3cefe7fSPierre Proncherydoes not exist, and exit with success as soon as the version number of a
245*a3cefe7fSPierre Pronchery.Ar module
246*a3cefe7fSPierre Proncheryis exactly the requested
247*a3cefe7fSPierre Pronchery.Ar version
248*a3cefe7fSPierre Proncherynumber.
249*a3cefe7fSPierre ProncheryExit with error if the version number of each
250*a3cefe7fSPierre Pronchery.Ar module
251*a3cefe7fSPierre Proncherydiffers from the requested
252*a3cefe7fSPierre Pronchery.Ar version
253*a3cefe7fSPierre Proncherynumber.
254*a3cefe7fSPierre Pronchery.It Fl -exists
255*a3cefe7fSPierre ProncheryExit with a non-zero exit status
256*a3cefe7fSPierre Proncheryif the dependency resolver is unable to find all of the requested
257*a3cefe7fSPierre Pronchery.Ar module Ns s .
258*a3cefe7fSPierre ProncheryThis option is active by default and cannot be disabled.
259*a3cefe7fSPierre ProncheryHowever, various other options cause
260*a3cefe7fSPierre Pronchery.Nm
261*a3cefe7fSPierre Proncheryto exit and report success or failure before all arguments have been inspected.
262*a3cefe7fSPierre Pronchery.It Fl -fragment-filter Ns = Ns Ar types
263*a3cefe7fSPierre ProncheryFilter the fragment lists for the specified
264*a3cefe7fSPierre Pronchery.Ar types .
265*a3cefe7fSPierre Pronchery.It Fl -help
266*a3cefe7fSPierre ProncheryPrint a usage summary on standard output and exit.
267*a3cefe7fSPierre ProncheryMost other options and all command line arguments are ignored.
268*a3cefe7fSPierre Pronchery.It Fl -ignore-conflicts
269*a3cefe7fSPierre ProncheryIgnore
270*a3cefe7fSPierre Pronchery.Sq Conflicts
271*a3cefe7fSPierre Proncheryrules in modules.
272*a3cefe7fSPierre Pronchery.It Fl -keep-system-cflags , Fl -keep-system-libs
273*a3cefe7fSPierre ProncheryKeep CFLAGS or linker flag fragments that would be filtered due to being
274*a3cefe7fSPierre Proncheryincluded by default in the compiler.
275*a3cefe7fSPierre Pronchery.It Fl -libs , Fl -libs-only-L , Fl -libs-only-l , Fl -libs-only-other
276*a3cefe7fSPierre ProncheryPrint all linker flags required to link against the
277*a3cefe7fSPierre Pronchery.Ar module ,
278*a3cefe7fSPierre Proncheryor only the library path
279*a3cefe7fSPierre Pronchery.Pq Fl L
280*a3cefe7fSPierre Proncheryflags, or only the library
281*a3cefe7fSPierre Pronchery.Pq Fl l
282*a3cefe7fSPierre Proncheryflags, or only the linker flags that are neither library path
283*a3cefe7fSPierre Proncherynor library flags, respectively.
284*a3cefe7fSPierre ProncheryThese options imply
285*a3cefe7fSPierre Pronchery.Fl -print-errors .
286*a3cefe7fSPierre Pronchery.It Fl -list-all
287*a3cefe7fSPierre ProncheryWalk the module search path in the order of descending priority.
288*a3cefe7fSPierre ProncheryFor each
289*a3cefe7fSPierre Pronchery.Xr pc 5
290*a3cefe7fSPierre Proncheryfile found, print one line to standard output,
291*a3cefe7fSPierre Proncherycontaining the basename of the file without the extension, the
292*a3cefe7fSPierre Pronchery.Ic Name
293*a3cefe7fSPierre Proncheryproperty, a dash
294*a3cefe7fSPierre Pronchery.Pq Sq \- ,
295*a3cefe7fSPierre Proncheryand the
296*a3cefe7fSPierre Pronchery.Ic Description
297*a3cefe7fSPierre Proncheryproperty.
298*a3cefe7fSPierre ProncheryThis option implies
299*a3cefe7fSPierre Pronchery.Fl -print-errors .
300*a3cefe7fSPierre ProncheryAll command line arguments are ignored.
301*a3cefe7fSPierre Pronchery.It Fl -list-package-names
302*a3cefe7fSPierre ProncheryPerform the same search as
303*a3cefe7fSPierre Pronchery.Fl -list-all ,
304*a3cefe7fSPierre Proncherybut only print the basename of each
305*a3cefe7fSPierre Pronchery.Xr pc 5
306*a3cefe7fSPierre Proncheryfile without the extension, not the module name and the description.
307*a3cefe7fSPierre ProncheryThis option implies
308*a3cefe7fSPierre Pronchery.Fl -print-errors .
309*a3cefe7fSPierre ProncheryAll command line arguments are ignored.
310*a3cefe7fSPierre Pronchery.It Fl -log-file Ns = Ns Ar file
311*a3cefe7fSPierre ProncherySet the name of the output
312*a3cefe7fSPierre Pronchery.Ar file
313*a3cefe7fSPierre Proncherywhere information about selected modules is logged,
314*a3cefe7fSPierre Proncheryboth about those selected by arguments and as dependencies.
315*a3cefe7fSPierre ProncheryFor each selected module, one line is printed,
316*a3cefe7fSPierre Proncherycontaining the basename of the
317*a3cefe7fSPierre Pronchery.Xr pc 5
318*a3cefe7fSPierre Proncheryfile without the extension, optionally an operator and version number
319*a3cefe7fSPierre Proncherydescribing the desired range of versions, and either the actual version
320*a3cefe7fSPierre Proncherynumber in square brackets or the string
321*a3cefe7fSPierre Pronchery.Qq NOT-FOUND .
322*a3cefe7fSPierre ProncheryIf this option is not provided, the name of the output file
323*a3cefe7fSPierre Proncheryis instead taken from the
324*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LOG
325*a3cefe7fSPierre Proncheryenvironment variable, and if that is not provided either,
326*a3cefe7fSPierre Proncherythis kind of logging is disabled.
327*a3cefe7fSPierre Pronchery.It Fl -max-version Ns = Ns Ar version
328*a3cefe7fSPierre ProncheryCheck the
329*a3cefe7fSPierre Pronchery.Ar module
330*a3cefe7fSPierre Proncheryarguments in the given order.
331*a3cefe7fSPierre ProncheryExit with error as soon as a
332*a3cefe7fSPierre Pronchery.Ar module
333*a3cefe7fSPierre Proncherydoes not exist, and exit with success as soon as the version number of a
334*a3cefe7fSPierre Pronchery.Ar module
335*a3cefe7fSPierre Proncheryis less than or equal to the requested
336*a3cefe7fSPierre Pronchery.Ar version
337*a3cefe7fSPierre Proncherynumber.
338*a3cefe7fSPierre ProncheryExit with error if the version number of each
339*a3cefe7fSPierre Pronchery.Ar module
340*a3cefe7fSPierre Proncheryis greater than the requested
341*a3cefe7fSPierre Pronchery.Ar version
342*a3cefe7fSPierre Proncherynumber.
343*a3cefe7fSPierre Pronchery.It Fl -maximum-traverse-depth Ns = Ns Ar depth
344*a3cefe7fSPierre ProncheryImpose a limit on the allowed depth in the dependency graph.
345*a3cefe7fSPierre ProncheryFor example, a
346*a3cefe7fSPierre Pronchery.Ar depth
347*a3cefe7fSPierre Proncheryof 2 restricts the resolver from acting on child
348*a3cefe7fSPierre Proncherydependencies of modules added to the resolver's solution.
349*a3cefe7fSPierre ProncheryThis option is overridden by the
350*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH
351*a3cefe7fSPierre Proncheryenvironment variable and by the options
352*a3cefe7fSPierre Pronchery.Fl -modversion ,
353*a3cefe7fSPierre Pronchery.Fl -path ,
354*a3cefe7fSPierre Pronchery.Fl -print-provides ,
355*a3cefe7fSPierre Pronchery.Fl -print-requires ,
356*a3cefe7fSPierre Pronchery.Fl -print-requires-private ,
357*a3cefe7fSPierre Pronchery.Fl -print-variables ,
358*a3cefe7fSPierre Proncheryand
359*a3cefe7fSPierre Pronchery.Fl -variable .
360*a3cefe7fSPierre Pronchery.It Fl -modversion
361*a3cefe7fSPierre ProncheryFor each specified
362*a3cefe7fSPierre Pronchery.Ar module ,
363*a3cefe7fSPierre Proncheryprint the version number to standard output.
364*a3cefe7fSPierre ProncheryIf the
365*a3cefe7fSPierre Pronchery.Fl -verbose
366*a3cefe7fSPierre Proncheryoption is also specified, the name of the respective
367*a3cefe7fSPierre Pronchery.Ar module
368*a3cefe7fSPierre Proncheryand a colon is printed before each version number.
369*a3cefe7fSPierre ProncheryThis option implies
370*a3cefe7fSPierre Pronchery.Fl -print-errors
371*a3cefe7fSPierre Proncheryand
372*a3cefe7fSPierre Pronchery.Fl -maximum-traverse-depth Ns =1
373*a3cefe7fSPierre Proncheryand overrides and disables all
374*a3cefe7fSPierre Pronchery.Fl -cflags
375*a3cefe7fSPierre Proncheryand
376*a3cefe7fSPierre Pronchery.Fl -libs
377*a3cefe7fSPierre Proncheryflags.
378*a3cefe7fSPierre Pronchery.It Fl -msvc-syntax
379*a3cefe7fSPierre ProncheryUse MSVC syntax for
380*a3cefe7fSPierre Pronchery.Fl -cflags ,
381*a3cefe7fSPierre Pronchery.Fl -env ,
382*a3cefe7fSPierre Proncheryand
383*a3cefe7fSPierre Pronchery.Fl -libs
384*a3cefe7fSPierre Proncheryoutput.
385*a3cefe7fSPierre ProncheryThis option is only available if the preprocessor macro
386*a3cefe7fSPierre Pronchery.Dv PKGCONF_LITE
387*a3cefe7fSPierre Proncherywas not defined during compilation.
388*a3cefe7fSPierre Pronchery.It Fl -no-cache
389*a3cefe7fSPierre ProncherySkip caching packages when they are loaded into the internal resolver.
390*a3cefe7fSPierre ProncheryThis may result in an alternate dependency graph being computed.
391*a3cefe7fSPierre Pronchery.It Fl -no-provides
392*a3cefe7fSPierre ProncheryIgnore
393*a3cefe7fSPierre Pronchery.Sq Provides
394*a3cefe7fSPierre Proncheryrules in modules when resolving dependencies.
395*a3cefe7fSPierre Pronchery.It Fl -no-uninstalled
396*a3cefe7fSPierre ProncheryForbids the dependency resolver from considering 'uninstalled' modules as part
397*a3cefe7fSPierre Proncheryof a solution.
398*a3cefe7fSPierre Pronchery.It Fl -path
399*a3cefe7fSPierre ProncheryFor the first
400*a3cefe7fSPierre Pronchery.Ar module
401*a3cefe7fSPierre Proncherygiven on the command line, let the dependency resolver find the
402*a3cefe7fSPierre Pronchery.Xr pc 5
403*a3cefe7fSPierre Proncheryfile describing that module, print the absolute pathname of that file
404*a3cefe7fSPierre Proncheryto standard output, and exit immediately,
405*a3cefe7fSPierre Proncheryignoring most other options and all other arguments.
406*a3cefe7fSPierre Pronchery.It Fl -prefix-variable Ns = Ns Ar variable
407*a3cefe7fSPierre ProncherySets the
408*a3cefe7fSPierre Pronchery.Sq prefix
409*a3cefe7fSPierre Proncheryvariable used by the
410*a3cefe7fSPierre Pronchery.Sq define-prefix
411*a3cefe7fSPierre Proncheryfeature.
412*a3cefe7fSPierre Pronchery.It Fl -print-errors
413*a3cefe7fSPierre ProncheryPrint some messages about fatal errors to standard error output
414*a3cefe7fSPierre Proncherythat would otherwise be omitted.
415*a3cefe7fSPierre ProncheryThis option is implied by many other options, but not by all.
416*a3cefe7fSPierre ProncheryIt can be overridden with
417*a3cefe7fSPierre Pronchery.Fl -silence-errors .
418*a3cefe7fSPierre Pronchery.It Fl -print-provides
419*a3cefe7fSPierre ProncheryFor each specified
420*a3cefe7fSPierre Pronchery.Ar module ,
421*a3cefe7fSPierre Proncheryprint one line to standard output containing the
422*a3cefe7fSPierre Pronchery.Ic Name
423*a3cefe7fSPierre Proncheryproperty, an equal sign
424*a3cefe7fSPierre Pronchery.Pq Sq = ,
425*a3cefe7fSPierre Proncheryand the
426*a3cefe7fSPierre Pronchery.Ic Version
427*a3cefe7fSPierre Proncheryproperty.
428*a3cefe7fSPierre ProncheryIf the
429*a3cefe7fSPierre Pronchery.Ar module
430*a3cefe7fSPierre Proncherycontains one or more
431*a3cefe7fSPierre Pronchery.Ic Provides
432*a3cefe7fSPierre Proncheryproperties, print additional lines in dependency list format, one name
433*a3cefe7fSPierre Proncheryper line, each name optionally followed by an operator and a version.
434*a3cefe7fSPierre ProncheryThis option implies
435*a3cefe7fSPierre Pronchery.Fl -maximum-traverse-depth Ns =1
436*a3cefe7fSPierre Proncheryand overrides and disables all
437*a3cefe7fSPierre Pronchery.Fl -cflags
438*a3cefe7fSPierre Proncheryand
439*a3cefe7fSPierre Pronchery.Fl -libs
440*a3cefe7fSPierre Proncheryflags.
441*a3cefe7fSPierre Pronchery.It Fl -print-requires , Fl -print-requires-private
442*a3cefe7fSPierre ProncheryFor each specified
443*a3cefe7fSPierre Pronchery.Ar module ,
444*a3cefe7fSPierre Proncheryprint the
445*a3cefe7fSPierre Pronchery.Ic Requires
446*a3cefe7fSPierre Proncheryor
447*a3cefe7fSPierre Pronchery.Ic Requires.private
448*a3cefe7fSPierre Proncheryproperties, respectively, in dependency list format to standard output.
449*a3cefe7fSPierre ProncheryBoth of these options imply
450*a3cefe7fSPierre Pronchery.Fl -maximum-traverse-depth Ns =1
451*a3cefe7fSPierre Proncheryand override and disable all
452*a3cefe7fSPierre Pronchery.Fl -cflags
453*a3cefe7fSPierre Proncheryand
454*a3cefe7fSPierre Pronchery.Fl -libs
455*a3cefe7fSPierre Proncheryflags.
456*a3cefe7fSPierre Pronchery.It Fl -print-variables
457*a3cefe7fSPierre ProncheryFor the first
458*a3cefe7fSPierre Pronchery.Ar module
459*a3cefe7fSPierre Proncherygiven on the command line, print the names of all seen variables
460*a3cefe7fSPierre Proncheryto standard output, one per line.
461*a3cefe7fSPierre ProncheryAny subsequent arguments are silently ignored.
462*a3cefe7fSPierre ProncheryThis option implies
463*a3cefe7fSPierre Pronchery.Fl -print-errors
464*a3cefe7fSPierre Proncheryand
465*a3cefe7fSPierre Pronchery.Fl -maximum-traverse-depth Ns =1
466*a3cefe7fSPierre Proncheryand overrides and disables all
467*a3cefe7fSPierre Pronchery.Fl -cflags
468*a3cefe7fSPierre Proncheryand
469*a3cefe7fSPierre Pronchery.Fl -libs
470*a3cefe7fSPierre Proncheryflags.
471*a3cefe7fSPierre Pronchery.It Fl -pure
472*a3cefe7fSPierre ProncheryTreats the computed dependency graph as if it were pure.
473*a3cefe7fSPierre ProncheryThis is mainly intended for use with the
474*a3cefe7fSPierre Pronchery.Fl -static
475*a3cefe7fSPierre Proncheryflag and has no effect if
476*a3cefe7fSPierre Pronchery.Fl -shared
477*a3cefe7fSPierre Proncheryis also specified.
478*a3cefe7fSPierre Pronchery.It Fl -relocate Ns = Ns Ar path
479*a3cefe7fSPierre ProncheryRelocates a path using the pkgconf_path_relocate API.
480*a3cefe7fSPierre ProncheryThis is mainly used by the testsuite to provide a guaranteed interface
481*a3cefe7fSPierre Proncheryto the system's path relocation backend.
482*a3cefe7fSPierre Pronchery.It Fl -shared
483*a3cefe7fSPierre ProncheryCompute a simple dependency graph that is only suitable for shared linking.
484*a3cefe7fSPierre ProncheryThis option overrides
485*a3cefe7fSPierre Pronchery.Fl -static .
486*a3cefe7fSPierre Pronchery.It Fl -short-errors
487*a3cefe7fSPierre ProncheryWhen printing error messages about modules that are not found
488*a3cefe7fSPierre Proncheryor conflict with each other, avoid printing additional, verbose
489*a3cefe7fSPierre Proncheryinstructions explaining potential methods for solving the problem.
490*a3cefe7fSPierre Pronchery.It Fl -silence-errors
491*a3cefe7fSPierre ProncheryDo not print any error, warning, or debugging messages at all.
492*a3cefe7fSPierre ProncheryOverrides all of
493*a3cefe7fSPierre Pronchery.Fl -debug ,
494*a3cefe7fSPierre Pronchery.Fl -errors-to-stdout ,
495*a3cefe7fSPierre Proncheryand
496*a3cefe7fSPierre Pronchery.Fl -print-errors .
497*a3cefe7fSPierre ProncheryThis option is overridden and disabled if the
498*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_DEBUG_SPEW
499*a3cefe7fSPierre Proncheryenvironment variable is set.
500*a3cefe7fSPierre Pronchery.It Fl -simulate
501*a3cefe7fSPierre ProncherySimulates resolving a dependency graph based on the requested modules on the
502*a3cefe7fSPierre Proncherycommand line.
503*a3cefe7fSPierre ProncheryDumps a series of trees denoting pkgconf's resolver state.
504*a3cefe7fSPierre ProncheryThis option is only available if the preprocessor macro
505*a3cefe7fSPierre Pronchery.Dv PKGCONF_LITE
506*a3cefe7fSPierre Proncherywas not defined during compilation.
507*a3cefe7fSPierre Pronchery.It Fl -solution
508*a3cefe7fSPierre ProncheryPrint the names of the modules requested with
509*a3cefe7fSPierre Pronchery.Ar module
510*a3cefe7fSPierre Proncheryarguments and their dependencies to standard output.
511*a3cefe7fSPierre ProncheryThis option is only available if the preprocessor macro
512*a3cefe7fSPierre Pronchery.Dv PKGCONF_LITE
513*a3cefe7fSPierre Proncherywas not defined during compilation.
514*a3cefe7fSPierre Pronchery.It Fl -static
515*a3cefe7fSPierre ProncheryCompute a deeper dependency graph and use compiler/linker flags intended for
516*a3cefe7fSPierre Proncherystatic linking.
517*a3cefe7fSPierre ProncheryThis option is overridden by
518*a3cefe7fSPierre Pronchery.Fl -shared .
519*a3cefe7fSPierre Pronchery.It Fl -uninstalled
520*a3cefe7fSPierre ProncheryExit with a non-zero result if the dependency resolver uses an
521*a3cefe7fSPierre Pronchery.Sq uninstalled
522*a3cefe7fSPierre Proncherymodule as part of its solution.
523*a3cefe7fSPierre Pronchery.It Fl -validate Ar package ...
524*a3cefe7fSPierre ProncheryValidate specific
525*a3cefe7fSPierre Pronchery.Sq .pc
526*a3cefe7fSPierre Proncheryfiles for correctness.
527*a3cefe7fSPierre ProncheryThis option implies
528*a3cefe7fSPierre Pronchery.Fl -print-errors
529*a3cefe7fSPierre Proncheryand
530*a3cefe7fSPierre Pronchery.Fl -errors-to-stdout .
531*a3cefe7fSPierre Pronchery.It Fl -variable Ns = Ns Ar varname
532*a3cefe7fSPierre ProncheryFor the first
533*a3cefe7fSPierre Pronchery.Ar module
534*a3cefe7fSPierre Proncherygiven on the command line, print the value of the variable with the name
535*a3cefe7fSPierre Pronchery.Ar varname
536*a3cefe7fSPierre Proncheryto standard output.
537*a3cefe7fSPierre ProncheryAny subsequent arguments are silently ignored.
538*a3cefe7fSPierre ProncheryThis option implies
539*a3cefe7fSPierre Pronchery.Fl -maximum-traverse-depth Ns =1
540*a3cefe7fSPierre Proncheryand overrides and disables all
541*a3cefe7fSPierre Pronchery.Fl -cflags
542*a3cefe7fSPierre Proncheryand
543*a3cefe7fSPierre Pronchery.Fl -libs
544*a3cefe7fSPierre Proncheryflags.
545*a3cefe7fSPierre Pronchery.It Fl -verbose
546*a3cefe7fSPierre ProncheryThis option only has an effect if
547*a3cefe7fSPierre Pronchery.Fl -modversion
548*a3cefe7fSPierre Proncheryis also specified.
549*a3cefe7fSPierre ProncheryIt prints the name of the respective
550*a3cefe7fSPierre Pronchery.Ar module
551*a3cefe7fSPierre Proncheryand a colon before each version number.
552*a3cefe7fSPierre Pronchery.It Fl -version
553*a3cefe7fSPierre ProncheryPrint the version number of the
554*a3cefe7fSPierre Pronchery.Nm
555*a3cefe7fSPierre Proncheryprogram to standard output and exit.
556*a3cefe7fSPierre ProncheryMost other options and all command line arguments are ignored.
557*a3cefe7fSPierre Pronchery.It Fl -with-path Ns = Ns Ar path
558*a3cefe7fSPierre ProncheryPrepend the directory
559*a3cefe7fSPierre Pronchery.Ar path
560*a3cefe7fSPierre Proncheryto the module search path,
561*a3cefe7fSPierre Proncherygiving it priority over all other directories including those from
562*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_PATH
563*a3cefe7fSPierre Proncheryand
564*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR .
565*a3cefe7fSPierre Pronchery.El
566*a3cefe7fSPierre Pronchery.Sh ENVIRONMENT
567*a3cefe7fSPierre Pronchery.Bl -tag -width indent
568*a3cefe7fSPierre Pronchery.It Ev CPATH
569*a3cefe7fSPierre ProncheryFirst supplementary colon-separated list of include paths filtered out
570*a3cefe7fSPierre Proncheryin the same way as
571*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH .
572*a3cefe7fSPierre Pronchery.It Ev CPLUS_INCLUDE_PATH
573*a3cefe7fSPierre ProncheryThird supplementary colon-separated list of include paths filtered out
574*a3cefe7fSPierre Proncheryin the same way as
575*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH .
576*a3cefe7fSPierre Pronchery.It Ev C_INCLUDE_PATH
577*a3cefe7fSPierre ProncherySecond supplementary colon-separated list of include paths filtered out
578*a3cefe7fSPierre Proncheryin the same way as
579*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH .
580*a3cefe7fSPierre Pronchery.It Ev DESTDIR
581*a3cefe7fSPierre ProncheryIf set to the same value as
582*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSROOT_DIR ,
583*a3cefe7fSPierre Proncherybehave in the same way as if
584*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_FDO_SYSROOT_RULES
585*a3cefe7fSPierre Proncheryis set.
586*a3cefe7fSPierre ProncheryIf
587*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSROOT_DIR
588*a3cefe7fSPierre Proncheryis not set or set to a different value,
589*a3cefe7fSPierre Pronchery.Ev DESTDIR
590*a3cefe7fSPierre Proncheryis ignored.
591*a3cefe7fSPierre Pronchery.It Ev LIBRARY_PATH
592*a3cefe7fSPierre ProncherySupplementary colon-separated list of library paths filtered out
593*a3cefe7fSPierre Proncheryin the same way as
594*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSTEM_LIBRARY_PATH .
595*a3cefe7fSPierre Pronchery.It Ev OBJC_INCLUDE_PATH
596*a3cefe7fSPierre ProncheryFourth supplementary colon-separated list of include paths filtered out
597*a3cefe7fSPierre Proncheryin the same way as
598*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH .
599*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
600*a3cefe7fSPierre ProncheryIf set, this variable has the same effect as the
601*a3cefe7fSPierre Pronchery.Fl -keep-system-cflags
602*a3cefe7fSPierre Proncheryoption.
603*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_ALLOW_SYSTEM_LIBS
604*a3cefe7fSPierre ProncheryIf set, this variable has the same effect as the
605*a3cefe7fSPierre Pronchery.Fl -keep-system-libs
606*a3cefe7fSPierre Proncheryoption.
607*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_DEBUG_SPEW
608*a3cefe7fSPierre ProncheryIf set, override and disable the
609*a3cefe7fSPierre Pronchery.Fl -silence-errors
610*a3cefe7fSPierre Proncheryoption.
611*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_DISABLE_UNINSTALLED
612*a3cefe7fSPierre ProncheryIf set, enables the same behaviour as the
613*a3cefe7fSPierre Pronchery.Fl -no-uninstalled
614*a3cefe7fSPierre Proncheryflag.
615*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_DONT_DEFINE_PREFIX
616*a3cefe7fSPierre ProncheryIf set, this variable has the same effect as the
617*a3cefe7fSPierre Pronchery.Fl -dont-define-prefix
618*a3cefe7fSPierre Proncheryoption.
619*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_DONT_RELOCATE_PATHS
620*a3cefe7fSPierre ProncheryIf set, disables the path relocation feature.
621*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_FDO_SYSROOT_RULES
622*a3cefe7fSPierre ProncheryIf set, follow the sysroot prefixing rules that freedesktop.org pkg-config uses.
623*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_IGNORE_CONFLICTS
624*a3cefe7fSPierre ProncheryIf set, ignore
625*a3cefe7fSPierre Pronchery.Ic Conflicts
626*a3cefe7fSPierre Proncheryrules in modules.
627*a3cefe7fSPierre ProncheryHas the same effect as the
628*a3cefe7fSPierre Pronchery.Fl -ignore-conflicts
629*a3cefe7fSPierre Proncheryoption.
630*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_LIBDIR
631*a3cefe7fSPierre ProncheryA colon-separated list of low-priority directories where
632*a3cefe7fSPierre Pronchery.Xr pc 5
633*a3cefe7fSPierre Proncheryfiles are looked up.
634*a3cefe7fSPierre ProncheryThe module search path is constructed by appending this list to
635*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_PATH ,
636*a3cefe7fSPierre Proncherywhich enjoys higher priority.
637*a3cefe7fSPierre ProncheryIf
638*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR
639*a3cefe7fSPierre Proncheryis not defined, the default list compiled into the
640*a3cefe7fSPierre Pronchery.Nm
641*a3cefe7fSPierre Proncheryprogram from the
642*a3cefe7fSPierre Pronchery.Dv PKG_DEFAULT_PATH
643*a3cefe7fSPierre Proncherypreprocessor macro is appended instead.
644*a3cefe7fSPierre ProncheryIf
645*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR
646*a3cefe7fSPierre Proncheryis defined but empty, nothing is appended.
647*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_LOG
648*a3cefe7fSPierre ProncheryIf set, log information about selected modules
649*a3cefe7fSPierre Proncheryto the file with the name stored in this variable.
650*a3cefe7fSPierre ProncheryFor more details, see the
651*a3cefe7fSPierre Pronchery.Fl -log-file
652*a3cefe7fSPierre Proncherycommand line option, which overrides this variable.
653*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH
654*a3cefe7fSPierre ProncheryImpose a limit on the allowed depth in the dependency graph.
655*a3cefe7fSPierre ProncheryThis variable overrides the
656*a3cefe7fSPierre Pronchery.Fl -maximum-traverse-depth
657*a3cefe7fSPierre Proncheryoption, but is overridden by the other options mentioned there.
658*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_MSVC_SYNTAX
659*a3cefe7fSPierre ProncheryIf set, use MSVC syntax for
660*a3cefe7fSPierre Pronchery.Fl -cflags ,
661*a3cefe7fSPierre Pronchery.Fl -env ,
662*a3cefe7fSPierre Proncheryand
663*a3cefe7fSPierre Pronchery.Fl -libs
664*a3cefe7fSPierre Proncheryoutput.
665*a3cefe7fSPierre ProncheryThis variable has the same effect as the
666*a3cefe7fSPierre Pronchery.Fl -msvc-syntax
667*a3cefe7fSPierre Proncheryoption.
668*a3cefe7fSPierre ProncheryIf the preprocessor macro
669*a3cefe7fSPierre Pronchery.Dv PKGCONF_LITE
670*a3cefe7fSPierre Proncherywas defined during compilation, this variable is ignored.
671*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_PATH
672*a3cefe7fSPierre ProncheryA colon-separated list of high-priority directories where
673*a3cefe7fSPierre Pronchery.Xr pc 5
674*a3cefe7fSPierre Proncheryfiles are looked up.
675*a3cefe7fSPierre ProncheryThe module search path is constructed
676*a3cefe7fSPierre Proncheryby prepending the directory specified with
677*a3cefe7fSPierre Pronchery.Fl -with-path ,
678*a3cefe7fSPierre Proncheryif any, and unless
679*a3cefe7fSPierre Pronchery.Fl -env-only
680*a3cefe7fSPierre Proncheryis specified, by appending either
681*a3cefe7fSPierre Pronchery.Ev PKG_CONFIG_LIBDIR
682*a3cefe7fSPierre Proncheryor the compiled-in default directories with lower priority.
683*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_PRELOADED_FILES
684*a3cefe7fSPierre ProncheryColon-separated list of
685*a3cefe7fSPierre Pronchery.Xr pc 5
686*a3cefe7fSPierre Proncheryfiles which are loaded before any other pkg-config files.
687*a3cefe7fSPierre ProncheryThese packages are given highest priority over any other
688*a3cefe7fSPierre Pronchery.Xr pc 5
689*a3cefe7fSPierre Proncheryfiles that would otherwise provide a given package.
690*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_PURE_DEPGRAPH
691*a3cefe7fSPierre ProncheryIf set, enables the same behaviour as the
692*a3cefe7fSPierre Pronchery.Fl -pure
693*a3cefe7fSPierre Proncheryflag.
694*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_RELOCATE_PATHS
695*a3cefe7fSPierre ProncheryIf set, this variable has the same effect as the
696*a3cefe7fSPierre Pronchery.Fl -define-prefix
697*a3cefe7fSPierre Proncheryoption.
698*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_SYSROOT_DIR
699*a3cefe7fSPierre ProncheryIf set, this variable defines a
700*a3cefe7fSPierre Pronchery.Sq sysroot
701*a3cefe7fSPierre Proncherydirectory, which will be prepended to every path variable
702*a3cefe7fSPierre Proncherybeginning with the prefix variable in a given
703*a3cefe7fSPierre Pronchery.Xr pc 5
704*a3cefe7fSPierre Proncheryfile.
705*a3cefe7fSPierre ProncheryUseful for cross compilation.
706*a3cefe7fSPierre ProncheryThe value of this environment variable is also copied into the global variable
707*a3cefe7fSPierre Pronchery.Va pc_sysrootdir .
708*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_SYSTEM_INCLUDE_PATH
709*a3cefe7fSPierre ProncheryColon-separated list of include paths that are filtered out
710*a3cefe7fSPierre Proncheryand not printed by the
711*a3cefe7fSPierre Pronchery.Fl -cflags
712*a3cefe7fSPierre Proncheryand
713*a3cefe7fSPierre Pronchery.Fl -cflags-only-I
714*a3cefe7fSPierre Proncheryoptions because they are considered system include paths.
715*a3cefe7fSPierre ProncheryIf not defined, the default list compiled into the
716*a3cefe7fSPierre Pronchery.Nm
717*a3cefe7fSPierre Proncheryprogram from the
718*a3cefe7fSPierre Pronchery.Dv SYSTEM_INCLUDEDIR
719*a3cefe7fSPierre Proncherypreprocessor macro is used instead.
720*a3cefe7fSPierre ProncheryThis variable is a pkgconf-specific extension.
721*a3cefe7fSPierre ProncheryAny directories listed in the environment variables
722*a3cefe7fSPierre Pronchery.Ev CPATH ,
723*a3cefe7fSPierre Pronchery.Ev C_INCLUDE_PATH ,
724*a3cefe7fSPierre Pronchery.Ev CPLUS_INCLUDE_PATH ,
725*a3cefe7fSPierre Proncheryand
726*a3cefe7fSPierre Pronchery.Ev OBJC_INCLUDE_PATH
727*a3cefe7fSPierre Proncheryare also filtered out.
728*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_SYSTEM_LIBRARY_PATH
729*a3cefe7fSPierre ProncheryColon-separated list of library paths that are filtered out
730*a3cefe7fSPierre Proncheryand not printed by the
731*a3cefe7fSPierre Pronchery.Fl -libs
732*a3cefe7fSPierre Proncheryand
733*a3cefe7fSPierre Pronchery.Fl -libs-only-L
734*a3cefe7fSPierre Proncheryoptions because they are considered system library paths.
735*a3cefe7fSPierre ProncheryIf not defined, the default list compiled into the
736*a3cefe7fSPierre Pronchery.Nm
737*a3cefe7fSPierre Proncheryprogram from the
738*a3cefe7fSPierre Pronchery.Dv SYSTEM_LIBDIR
739*a3cefe7fSPierre Proncherypreprocessor macro is used instead.
740*a3cefe7fSPierre ProncheryThis variable is a pkgconf-specific extension.
741*a3cefe7fSPierre Pronchery.It Ev PKG_CONFIG_TOP_BUILD_DIR
742*a3cefe7fSPierre ProncheryThe value of the
743*a3cefe7fSPierre Pronchery.Va pc_top_builddir
744*a3cefe7fSPierre Proncheryglobal variable.
745*a3cefe7fSPierre ProncheryIf this environment variable is not defined, the string
746*a3cefe7fSPierre Pronchery.Qq $(top_builddir)
747*a3cefe7fSPierre Proncheryis used as the value of
748*a3cefe7fSPierre Pronchery.Va pc_top_builddir .
749*a3cefe7fSPierre Pronchery.El
750*a3cefe7fSPierre Pronchery.Sh EXIT STATUS
751*a3cefe7fSPierre Pronchery.Ex -std
752*a3cefe7fSPierre Pronchery.Sh EXAMPLES
753*a3cefe7fSPierre ProncheryDisplaying the CFLAGS of a package:
754*a3cefe7fSPierre Pronchery.Dl $ pkgconf --cflags foo
755*a3cefe7fSPierre Pronchery.Dl -fPIC -I/usr/include/foo
756*a3cefe7fSPierre Pronchery.Sh SEE ALSO
757*a3cefe7fSPierre Pronchery.Xr pc 5 ,
758*a3cefe7fSPierre Pronchery.Xr pkg.m4 7
759