The one imported into pkg-config has seen very little maintenance, so
let's give users the option to use the upstream version. The default is
to use the included sources, but it can search for the system library
using --with-installed-popt.
The pkg-config(1) manual includes a lot of details behind pkg-config,
but not the background and usage patterns. This guide tries to provide
users and developers with a starting point for pkg-config.
* parse.c: On Win32, if the value of a a variable other than the
"prefix" one starts with the non-overridden value of "prefix",
then replace that prefix, too, with the run-time one.
To avoid shadowing warnings, rename a 'p' variable to 'q'.
* pkg-config.1: Corresponding update.
* main.c
* pkg.h: Move the Win32 redefinition of PKG_CONFIG_PC_PATH from
main.c to pkg.h as it now is needed in pkg.c, too.
* check/common, check/config.sh.in, check/Makefile.am,
configure.in: Make it possible to check for configure variables in
the check scripts. So far, only direct/indirect is exposed.
* poptparse.c, popthelp.c, poptconfig.c, popt.c, pkg.c, findme.c,
configure.in: Check for malloc.h and use that if it exists.
Apparently this makes Win32 happier. Thanks to Carlo Bramini for
the patch.
* pkg.[ch], main.c, check/check-missing: Don't recurse Requires at
all unless we need to. Add check. Again, thanks to Loïc Minier
for most of the idea and the implementation.
* pkg.[ch], parse.[ch], main.c, check/Makefile.am,
check/check-missing, check/missing-requires-private.pc:
Skip Requires.private unless we need to look at them for cflags.
Add test case. Thanks to Loïc Minier for most of the idea and the
implementation. Debian #475031
* parse.c (_do_parse_libs): Special-case "-lib:" in the Libs
field; it's not an -l. Yes, this breaks if your library is called
libib:$something, in which case you lose. Gnome #142952
* check/check-conflicts, check/conflicts-test.pc: New test,
testing that conflicts work as they should.
* pkg.c (verify_package): Make the conflicts check not only check
package versions, but also package names. This makes conflicts
functional, something they were not before.
* check/check-cflags, check/check-define-variable,
check/check-includedir, check/check-libs,
check/check-libs-private, check/check-requires-private: Replace
the crazy -d ~root check with a more proper way to just make sure
we are running under a POSIX shell. Thanks to Kjetil Torgrim
Homme for the tip about using getconf PATH.