summaryrefslogtreecommitdiff
path: root/man/pkgconf.1
diff options
context:
space:
mode:
Diffstat (limited to 'man/pkgconf.1')
-rw-r--r--man/pkgconf.1211
1 files changed, 211 insertions, 0 deletions
diff --git a/man/pkgconf.1 b/man/pkgconf.1
new file mode 100644
index 0000000..ea00ac2
--- /dev/null
+++ b/man/pkgconf.1
@@ -0,0 +1,211 @@
+.\" Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016 pkgconf authors (see AUTHORS).
+.\"
+.\" Permission to use, copy, modify, and/or distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" 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
+.Dt PKGCONF 1
+.Os
+.Sh NAME
+.Nm pkgconf
+.Nd a system for configuring build dependency information
+.Sh SYNOPSIS
+.Nm
+.Op Ar options
+.Op Ar list of modules
+.Sh DESCRIPTION
+.Nm
+is a program which helps to configure compiler and linker flags for
+development libraries. This allows build systems to detect other dependencies
+and use them with the system toolchain.
+.Sh GENERAL OPTIONS
+.Bl -tag -width indent
+.It Fl -version
+Display the supported pkg-config version and exit.
+.It Fl -atleast-pkgconfig-version Ns = Ns Ar VERSION
+Exit with error if we do not support the requested pkg-config version.
+.It Fl -errors-to-stdout
+Print all errors on the main output stream instead of the error output stream.
+.It Fl -silence-errors
+Do not display any errors at all.
+.It Fl -list-all
+Walk all directories listed in the
+.Va PKG_CONFIG_PATH
+environmental variable and display information on packages which have registered
+information there.
+.It Fl -simulate
+Simulates resolving a dependency graph based on the requested modules on the
+command line. Dumps a series of trees denoting pkgconf's resolver state.
+.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.
+.It Fl -ignore-conflicts
+Ignore
+.Sq Conflicts
+rules in modules.
+.It Fl -env-only
+Learn about pkgconf's configuration strictly from environmental variables.
+.It Fl -maximum-traverse-depth Ns = Ns Ar DEPTH
+Impose a limit on the allowed depth in the dependency graph. For example, a
+depth of 2 will restrict the resolver from acting on child dependencies of
+modules added to the resolver's solution.
+.It Fl -static
+Compute a deeper dependency graph and use compiler/linker flags intended for
+static linking.
+.It Fl -pure
+Treats the computed dependency graph as if it were pure. This is mainly intended
+for use with the
+.Fl -static
+flag.
+.It Fl -no-provides
+Ignore
+.Sq Provides
+rules in modules when resolving dependencies.
+.It Fl -with-path Ns = Ns Ar PATH
+Adds a new module search path to pkgconf's dependency resolver. Paths added in
+this way are given preference before other paths.
+.It Fl -define-prefix
+Attempts to determine the prefix variable to use for CFLAGS and LIBS entry relocations.
+This is mainly useful for platforms where framework SDKs are relocatable, such as Windows.
+.It Fl -dont-define-prefix
+Disables the
+.Sq define-prefix
+feature.
+.It Fl -prefix-variable Ns = Ns Ar VARIABLE
+Sets the
+.Sq prefix
+variable used by the
+.Sq define-prefix
+feature.
+.It Fl -relocate Ns = Ns Ar PATH
+Relocates a path using the pkgconf_path_relocate API. This is mainly used by the
+testsuite to provide a guaranteed interface to the system's path relocation backend.
+.It Fl -dont-relocate-paths
+Disables the path relocation feature.
+.El
+.Sh MODULE-SPECIFIC OPTIONS
+.Bl -tag -width indent
+.It Fl -atleast-version Ns = Ns Ar VERSION
+Exit with error if a module's version is less than the specified version.
+.It Fl -exact-version Ns = Ns Ar VERSION
+Exit with error if a module's version is not exactly the specified version.
+.It Fl -max-version Ns = Ns Ar VERSION
+Exit with error if a module's version is greater than the specified version.
+.It Fl -exists
+Exit with a non-zero result if the dependency resolver was able to find all of
+the requested modules.
+.It Fl -uninstalled
+Exit with a non-zero result if the dependency resolver uses an
+.Sq uninstalled
+module as part of it's solution.
+.It Fl -no-uninstalled
+Forbids the dependency resolver from considering 'uninstalled' modules as part
+of a solution.
+.El
+.Sh QUERY-SPECIFIC OPTIONS
+.Bl -tag -width indent
+.It Fl -cflags Ns , Fl -cflags-only-I Ns , Fl -cflags-only-other
+Display either all CFLAGS, only
+.Fl I
+CFLAGS or only CFLAGS that are not
+.Fl I .
+.It Fl -libs Ns , Fl -libs-only-L Ns , Fl -libs-only-l Ns , Fl -libs-only-other
+Display either all linker flags, only
+.Fl L
+linker flags, only
+.Fl l
+linker flags or only linker flags that are not
+.Fl L
+or
+.Fl l .
+.It Fl -keep-system-cflags Ns , Fl -keep-system-libs
+Keep CFLAGS or linker flag fragments that would be filtered due to being
+included by default in the compiler.
+.It Fl -define-variable Ns = Ns Ar VARNAME Ns = Ns Ar VALUE
+Define
+.Va VARNAME
+as
+.Va VALUE .
+Variables are used in query output, and some modules' results may change based
+on the presence of a variable definition.
+.It Fl -print-variables
+Print all seen variables for a module to the output channel.
+.It Fl -print-provides
+Print all relevant
+.Sq Provides
+entries for a module to the output channel.
+.It Fl -variable Ns = Ns Ar VARNAME
+Print the value of
+.Va VARNAME .
+.It Fl -print-requires Ns , Fl -print-requires-private
+Print the modules included in either the
+.Va Requires
+field or the
+.Va Requires.private
+field.
+.It Fl -digraph
+Dump the dependency resolver's solution as a graphviz
+.Sq dot
+file. This can be used with graphviz to visualize module interdependencies.
+.It Fl -path
+Display the filenames of the
+.Sq .pc
+files used by the dependency resolver for a given dependency set.
+.It Fl -env Ns = Ns Ar VARNAME
+Print the requested values as variable declarations in a similar format as the
+.Xr env 1
+command.
+.El
+.Sh ENVIRONMENT
+.Bl -tag -width indent
+.It Va PKG_CONFIG_PATH
+List of secondary directories where
+.Sq .pc
+files are looked up.
+.It Va PKG_CONFIG_LIBDIR
+List of primary directories where
+.Sq .pc
+files are looked up.
+.It Va PKG_CONFIG_SYSROOT_DIR
+.Sq sysroot
+directory, will be prepended to every path defined in
+.Va PKG_CONFIG_PATH .
+Useful for cross compilation.
+.It Va PKG_CONFIG_TOP_BUILD_DIR
+Provides an alternative setting for the
+.Sq pc_top_builddir
+global variable.
+.It Va PKG_CONFIG_PURE_DEPGRAPH
+If set, enables the same behaviour as the
+.Fl -pure
+flag.
+.It Va PKG_CONFIG_SYSTEM_INCLUDE_PATH
+List of paths that are considered system include paths by the toolchain.
+This is a pkgconf-specific extension.
+.It Va PKG_CONFIG_SYSTEM_LIBRARY_PATH
+List of paths that are considered system library paths by the toolchain.
+This is a pkgconf-specific extension.
+.It Va PKG_CONFIG_DISABLE_UNINSTALLED
+If set, enables the same behaviour as the
+.Fl -no-uninstalled
+flag.
+.It Va PKG_CONFIG_LOG
+.Sq logfile
+which is used for dumping audit information concerning installed module versions.
+.It Va PKG_CONFIG_DEBUG_SPEW
+If set, enables additional debug logging. The format of the debug log messages is
+implementation-specific.
+.It Va PKG_CONFIG_DONT_RELOCATE_PATHS
+If set, disables the path relocation feature.
+.El
+.Sh EXAMPLES
+Displaying the CFLAGS of a package:
+.Dl $ pkgconf --cflags foo
+.Dl -fPIC -I/usr/include/foo
+.Sh SEE ALSO
+.Xr pkg.m4 7 ,
+.Xr pc 5