Annotation of src/usr.bin/pkg-config/pkg-config.1, Revision 1.6
1.6 ! jmc 1: .\" $OpenBSD: pkg-config.1,v 1.5 2006/11/28 01:54:14 ckuethe Exp $
1.1 ckuethe 2: .\"
3: .\" Copyright (c) 2006 Chris Kuethe <ckuethe@openbsd.org>
4: .\"
5: .\" Permission to use, copy, modify, and distribute this software for any
6: .\" purpose with or without fee is hereby granted, provided that the above
7: .\" copyright notice and this permission notice appear in all copies.
8: .\"
9: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15: .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16: .\"
17: .Dd November 27, 2006
1.6 ! jmc 18: .Dt PKG-CONFIG 1
1.1 ckuethe 19: .Os
20: .Sh NAME
21: .Nm pkg-config
22: .Nd fetch metadata about installed software packages
23: .Sh SYNOPSIS
24: .Nm pkg-config
25: .Op Ar options
26: .Ar pkg-name Op Ar pkg-name ...
27: .Sh DESCRIPTION
28: The
29: .Nm
30: utility retreives metadata about the installation of software packages.
31: This metadata includes version, compiler and linker flags, and dependency
32: information.
1.6 ! jmc 33: It is inspired by, and intended to operate as a drop-in replacement to,
! 34: the program of the same name available from freedesktop.org.
1.1 ckuethe 35: .Pp
36: Metadata is stored in files named after the package they describe; the
37: Yoyodyne package would likely be described by "yoyodyne.pc".
1.2 ckuethe 38: Not all software packages provide
39: .Nm
1.6 ! jmc 40: metadata.
! 41: Packages controlled by the
1.1 ckuethe 42: .Xr ports 7
1.2 ckuethe 43: system store their metadata, if provided, in
44: .Pa ${LOCALBASE}/lib/pkgconfig ;
45: the X Window System stores its metadata in
1.6 ! jmc 46: .Pa ${X11BASE}/lib/pkgconfig .
1.2 ckuethe 47: The
48: .Nm
49: utility will search these locations by default.
1.1 ckuethe 50: .Pp
1.2 ckuethe 51: Because
52: .Nm
53: attempts to output the full set of compiler or linker flags required to
54: use a package, it will also output the flags required for any prerequisite
55: packages.
1.6 ! jmc 56: If the "foo" package depends on the "bar" package, "pkg-config --cflags foo"
1.2 ckuethe 57: might output something like "-I/usr/local/include/foo
58: -I/usr/local/include/bar", even though the compiler flags for "bar" were not
59: explicitly requested.
1.1 ckuethe 60: .Pp
61: The options are as follows:
62: .Bl -tag -width Ds
63: .It Fl -debug
64: Enable internal development and debugging messages.
65: .It Fl -help
66: Print a help message and exit.
67: .It Fl -usage
68: Print a help message and exit.
69: .It Fl -list-all
70: List all installed packages and exit.
71: .It Fl -version
72: Print version of
73: .Nm
74: and exit.
75: .It Fl -errors-to-stdout
76: Direct error messages to stdout rather than stderr.
1.5 ckuethe 77: .It Fl -print-errors
78: Print error messages and exit with an error when errors occur.
79: This is the default.
80: .It Fl -silence-errors
81: Do not print error messages, just exit with an error.
1.1 ckuethe 82: .It Fl -atleast-pkgconfig-version Ar version
1.4 ckuethe 83: Exit with error if the version of
1.1 ckuethe 84: .Nm
1.4 ckuethe 85: is greater than or equal to the specified version.
1.1 ckuethe 86: .It Fl -cflags
87: Return all compiler flags required to compile against the package.
88: .It Fl -cflags-only-I
89: Return only the include path flags required to compile against the package.
90: .It Fl -cflags-only-other
91: Return all compiler flags, other than the include path flags, required to
92: compile against the package.
93: .It Fl -libs
94: Return all linker flags required to linker against the package.
95: .It Fl -libs-only-l
96: Return only the library (-lwhatever) flags required to link against
97: the package.
98: .It Fl -libs-only-L
99: Return only the library path (-L/path/to/lib) flags required to link
100: against the package.
101: .It Fl -libs-only-other
102: Return linker flags, other than the library and path flags, required to
103: compile against the package.
104: .It Fl -exists
105: Return true if all the specified packages are installed.
1.4 ckuethe 106: This is the default if no other option is given.
1.1 ckuethe 107: .It Fl -uninstalled
108: Allow packages not controlled by
109: .Nm
110: to be used.
111: .It Fl -static
112: Return the compiler and/or linker flags required for static linking.
113: .It Fl -atleast-version Ar version
1.4 ckuethe 114: Exit with error if the specified package's version is not greater than
115: or equal to the specified version.
1.1 ckuethe 116: .It Fl -modversion
1.3 ckuethe 117: Fetch package version.
118: If no package is given,
119: .Nm
120: returns its own version.
1.1 ckuethe 121: .It Fl -variable Ar name
122: Fetch the value of the named variable.
123: .El
124: .Sh ENVIRONMENT
125: .Bl -tag -width PKG_CONFIG_PATH
126: .It Ev PKG_CONFIG_PATH
127: This can be used to specify a colon-separated list of paths to search for
128: package files.
129: If given, this list of paths is prepended to the standard search path.
130: .El
131: .Sh SEE ALSO
132: .Xr pkg_info 1 ,
133: .Xr ports 7
134: .Sh HISTORY
135: The
136: .Nm
137: utility first appeared in
138: .Ox 4.1