Find a file
Russ Allbery 3b96e7434c Make PKG_CHECK_MODULES report the module name instead of the variable prefix
In Autoconf output from PKG_CHECK_MODULES in pkg.m4, the "checking for"
message refers to the first argument of PKG_CHECK_MODULES, the variable
prefix, instead of the second argument, the module being checked for.

This results in strange output (like ALL CAPS module names) in various
packages. And when probing for modules, one can't always use a variable
prefix that matches the module name (since ‘-’ and other characters
aren't allowed in variable names), so the Autoconf output is going to
refer to something odd.

The status output should reference the module name being probed for,
both because it looks nicer and because, when debugging problems, this
references the actual thing being probed for on the system, rather than
an internal implementation detail.

Signed-off-by: Guillem Jover <guillem@hadrons.org>

https://bugs.freedesktop.org/show_bug.cgi?id=98334
2017-03-19 09:56:25 -05:00
check Don't override empty prefix setting 2016-08-30 09:41:54 -07:00
glib glib: Fix OSX build with internal glib 2016-03-01 11:28:35 -08:00
glib-patches glib: Fix OSX build with internal glib 2016-03-01 11:28:35 -08:00
.gitignore Add optional usage of gcov for test coverage 2012-09-28 05:45:37 -07:00
AUTHORS 2005-03-26 Tollef Fog Heen <tfheen@err.no> 2005-07-14 13:06:24 +00:00
autogen.sh autogen: consider configure error 2016-08-22 15:08:43 -07:00
ChangeLog Mark Changelog as no longer kept up to date. 2010-05-08 22:16:12 +02:00
config.h.win32.in build: Add a pre-configure config.h template for MSVC builds 2015-10-26 09:16:27 -07:00
configure.ac Update to 0.29.1 2016-03-01 11:40:15 -08:00
COPYING Add COPYING files to give general licensing terms 2010-05-27 21:40:47 +02:00
detectenv-msvc.mak build: Add NMake makefiles for Visual Studio builds 2015-10-26 09:16:56 -07:00
main.c Optimization to load only needed .pc files 2016-12-22 13:29:12 -06:00
Makefile.am build: Add NMake makefiles for Visual Studio builds 2015-10-26 09:16:56 -07:00
Makefile.sources build: Split Out Source Listing 2015-10-26 09:15:53 -07:00
Makefile.vc build: Add NMake makefiles for Visual Studio builds 2015-10-26 09:16:56 -07:00
NEWS Update to 0.29.1 2016-03-01 11:40:15 -08:00
parse.c Don't override empty prefix setting 2016-08-30 09:41:54 -07:00
parse.h Only unquote --variable when it appears quoted 2016-02-26 08:56:52 -08:00
pkg-config-guide.html m4: Add PKG_PREREQ version checking macro 2015-09-26 15:02:36 -07:00
pkg-config.1 man: Document system search path environment variables 2017-03-19 09:37:22 -05:00
pkg.c pkg: Include CPATH in header search path 2017-03-19 09:13:59 -05:00
pkg.h Optimization to load only needed .pc files 2016-12-22 13:29:12 -06:00
pkg.m4.in Make PKG_CHECK_MODULES report the module name instead of the variable prefix 2017-03-19 09:56:25 -05:00
README Document failure to build internal glib as OS X universal binary 2012-08-14 16:39:47 -07:00
README.win32 README.win32: Add info on building with MSVC 2015-10-28 08:39:10 -07:00
rpmvercmp.c rpmvercmp: Use helper macros to match upstream code better 2013-05-17 05:36:12 -07:00
rpmvercmp.h Split rpmvercmp code into separate file 2013-05-17 05:36:12 -07:00

pkg-config is a script to make putting together all the build
flags when compiling/linking a lot easier.

Report bugs at http://bugzilla.freedesktop.org/

To use pkg-config, do something like the following in your configure.ac

    PKG_CHECK_MODULES([GNOME], [gtk > 1.2.8 gnomeui >= 1.2.0])

This puts the neccesary include flags to compile/link something against
libgnomeui and all its dependencies in $(GNOME_CFLAGS), and the -L/-l flags
for linking in $(GNOME_LIBS).

Users can define the PKG_CONFIG environment variable to point at the
right one, or if they cross-compile and have a correctly named pkg-config
(eg. arm-linux-pkg-config) in their PATH that will be used in preference.

Users can also define the GNOME_CFLAGS and GNOME_LIBS environment variables
if they think they know better, pkg-config will not be called if they do
that.

The "gtk > 1.2.8" part is only neccesary if you want to specifically check
if libgtk is version 1.2.8 or higher. Otherwise, the flags for gtk
will be included automatically, since libgnomeui depends on gtk.
So you could just say:

     PKG_CHECK_MODULES([GNOME], [gnomeui])

for any version of gnomeui.

For more info, there's even a man page, try 'man pkg-config'

Building
========
pkg-config depends on glib.  Note that glib build-depends on pkg-config,
but you can just set the corresponding environment variables (ZLIB_LIBS,
ZLIB_CFLAGS are the only needed ones when this is written) to build it.

pkg-config also either needs an earlier version of itself to find glib
or you need to set GLIB_CFLAGS and GLIB_LIBS to the correct values for
where it's installed in your system.

If this requirement is too cumbersome, a bundled copy of a recent glib
stable release is included. Pass --with-internal-glib to configure to
use this copy.

If you're cross-compiling and you need to build the bundled glib, refer
to the glib documentation for cross-compiling glib. In short, this will
require setting some autoconf cache variables in cases where glib would
need to run a program to determine the correct value. See the glib
documentation:

http://developer.gnome.org/glib/stable/glib-cross-compiling.html

If you need to use the bundled glib on Mac OS X, you'll most likely need
to build for a single architecture rather than as a universal binary.
This is because glib (as of version 2.32) does not support building for
multiple architectures out of the box. The glib2 from MacPorts or
Homebrew may be available as a universal binary and usable for
pkg-config as described above. Nothing in pkg-config itself precludes
being built as a universal binary.