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 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

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
158     --fragment-filter=TYPES
159             Filter the fragment lists for the specified types.
160

ENVIRONMENT

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

EXAMPLES

202     Displaying the CFLAGS of a package:
203           $ pkgconf --cflags foo
204           -fPIC -I/usr/include/foo
205

SEE ALSO

207     pc(5), pkg.m4(7)
208
209BSD                            November 15, 2016                           BSD
Impressum