summaryrefslogtreecommitdiff
path: root/man/pkgconf.1
diff options
context:
space:
mode:
Diffstat (limited to 'man/pkgconf.1')
-rw-r--r--man/pkgconf.152
1 files changed, 48 insertions, 4 deletions
diff --git a/man/pkgconf.1 b/man/pkgconf.1
index df286a60593a..537c5869b972 100644
--- a/man/pkgconf.1
+++ b/man/pkgconf.1
@@ -7,7 +7,7 @@
.\" This software is provided 'as is' and without any warranty, express or
.\" implied. In no event shall the authors be liable for any damages arising
.\" from the use of this software.
-.Dd November 15, 2016
+.Dd June 23, 2026
.Dt PKGCONF 1
.Os
.Sh NAME
@@ -32,6 +32,22 @@ to build software that uses the libraries given by the
.Ar module
arguments.
.Pp
+When printing compiler and linker flags,
+.Nm
+escapes shell metacharacters
+.Pq such as quotes, whitespace, brackets, braces and glob characters
+in each fragment with a backslash.
+The output is intended to be re-tokenised by the consumer using POSIX shell
+word-splitting rules, as build systems generally do; under those rules the
+protective backslashes are removed and the original values are recovered.
+Note that pasting the output directly into an unquoted command substitution,
+for example
+.Ql cc $(pkgconf \-\-libs foo) ,
+performs word-splitting and pathname expansion but does
+.Em not
+remove the backslashes, so a value containing such characters may reach the
+toolchain with the escaping still present.
+.Pp
The
.Xr pc 5
files are searched for along a path constructed from the
@@ -79,6 +95,9 @@ command line and do not look at dependencies.
Limited-output options:
.Fl -validate ,
.Fl -license ,
+.Fl -license-file ,
+.Fl -link-abi ,
+.Fl -source ,
.Fl -uninstalled ,
and
.Fl -env :
@@ -120,7 +139,8 @@ General output options:
.Fl -simulate ,
.Fl -digraph ,
.Fl -solution ,
-.Fl -fragment-tree :
+.Fl -fragment-tree ,
+.Fl -newlines :
These options do not limit dependency resolution.
.El
.Pp
@@ -283,6 +303,29 @@ flags, or only the linker flags that are neither library path
nor library flags, respectively.
These options imply
.Fl -print-errors .
+.It Fl -link-abi
+Print the set of link ABI tags
+.Pq for example Sy c No or Sy c++
+that the
+.Ar module
+must be linked against, derived from the
+.Sy Link.ABI
+properties found across its dependency closure.
+The tags from a package's own
+.Sy Link.ABI
+property and those of its public
+.Sy Requires
+always apply, while
+.Sy Requires.private
+tags apply only when linking statically
+.Pq Fl -static .
+A module with no link ABI requirements prints
+.Sy c .
+See
+.Xr pc 5
+for details of the
+.Sy Link.ABI
+property.
.It Fl -list-all
Walk the module search path in the order of descending priority.
For each
@@ -385,6 +428,9 @@ output.
This option is only available if the preprocessor macro
.Dv PKGCONF_LITE
was not defined during compilation.
+.It Fl -newlines
+Use newlines to separate individual CFLAGS or linker flag fragments
+instead of spaces.
.It Fl -no-cache
Skip caching packages when they are loaded into the internal resolver.
This may result in an alternate dependency graph being computed.
@@ -717,7 +763,6 @@ If not defined, the default list compiled into the
program from the
.Dv SYSTEM_INCLUDEDIR
preprocessor macro is used instead.
-This variable is a pkgconf-specific extension.
Any directories listed in the environment variables
.Ev CPATH ,
.Ev C_INCLUDE_PATH ,
@@ -737,7 +782,6 @@ If not defined, the default list compiled into the
program from the
.Dv SYSTEM_LIBDIR
preprocessor macro is used instead.
-This variable is a pkgconf-specific extension.
.It Ev PKG_CONFIG_TOP_BUILD_DIR
The value of the
.Va pc_top_builddir