pkg-config 0.29.1 ================= - Fixed a regression from 0.29 with unquoting values queried with --variable. In some cases, this would cause shell special characters to be escaped in ways they weren't before. Instead, the unquoting only occurs if the value appears to be quoted. (#93284) - Add support for building pkg-config with Microsoft Visual Studio. Thanks to Chun-wei Fan for the fix. (#92489) - Allow overriding pkg-config variables with environment variables. By setting an environment variable of the form PKG_CONFIG_$PACKAGE_$VARIABLE, a pkg-config variable can be set globally without always having to pass --define-variable. Thanks to Alex Larsson for the fix. (#90917) - Honor -Wl,-framework in addition to -framework so that multiple frameworks are handled on OSX. (#1278) - Fix the OSX build using --with-internal-glib. Thanks to Rudá Moura for the initial fix and Adam Mercer for testing the final patch. (#92902) pkg-config 0.29 === - Fixed a regression from 0.28 in system -L flag handling. If the pc file has multiple system -L flags, every other flag will be left as is. Thanks to Andrew Oakley for the fix. (#78077) - Quoting of variables queried through --variable is removed so that the output can be used verbatim in subsequent shell commands. Thanks to Marek Kasik for the fix. (#67904) - Fixed a regression from 0.28 in -L flag handling on Windows. A .libs suffix was inadvertantly being added to the library path. - Added a --validate option to check pc file syntax. This works just like --exists, but package dependencies are disabled. (#7000) - Added the PKG_PREREQ autoconf macro. Whereas PKG_PROG_PKG_CONFIG is used to check the version of the pkg-config tool, this is used to check the version of the pkg-config autoconf macros in use. - Added the PKG_CHECK_MODULES_STATIC autoconf macro. This will temporarily add --static to the pkg-config calls while invoking PKG_CHECK_MODULES. (#19541) - Many fixes to the testsuite for Windows. It should now pass for a MinGW, Cygwin, and cross-compiled MinGW using Wine for test execution. (#66939) - More consistent handling of prefix redefinition. On Windows, the prefix was always being redefined based on the pc file path. This feature can now be enabled or disabled at runtime on all platforms using the --define-prefix and --dont-define-prefix options. (#63602) - Continue listing packages with --list-all even if there are errors in pc files. (#26615) - Various documentation improvements. (#62018, #62374, #66155) - Fixed a bug when multiple -isystem arguments are used. (#72584) - pkg-config is now built with largefile support to ensure that it works correctly on filesystems with 64 bit inodes. Thanks to Peter Jones for the fix. (#90078) - Bugs fixed: 7000, 19541, 26615, 62018, 62374, 63602, 66155, 66939, 67904, 70690, 72584, 78077, 80378, 80380, 89267, 90078, 90437, 92002. pkg-config 0.28 === - Fixed a pair of long-standing and intertwined bugs involving unwanted removal of flags. The first is that other Libs flags like -Wl are now kept in context order with -l flags. The second is that aggressive removal of all duplicate arguments has been scaled back so that just consecutive duplicate arguments are removed. One result of this change is that some flags could be repeated in the final output, especially flags from non-pkg-config packages like -lm. Since pkg-config rarely has enough knowledge here about the right thing to do, we throw the duplicate arguments at the compiler/linker and trust it will do the right thing. - Fixed an old bug to allow circular Requires. This fix brings along a small behavior change in that pkg-config resolves requires depth first, causing some lower level flags to show up earlier in the output than previously. - Cleaned up many corner-case bugs and ambiguous behavior in pkg-config's interface. Thanks to Michał Górny for finding so many of these. - New autoconf macro PKG_CHECK_VAR for reading variables from .pc files. - Default to suppressing -L/lib and/or -L/lib64 like their /usr counterparts. - To help support multiarch scenarios out of the box, $host-pkg-config is now installed unless --disable-host-tool is passed to configure. - Added optional gcov usage through the --with-gcov configure option. As a result, many more tests were added to greatly increase the coverage of the code to 86% of executed lines on a Fedora 18 machine. - Bugs fixed: 130, 7331, 16101, 17053, 19950, 34504, 48098, 54231, 54271, 54379, 54384, 54386, 54388, 54389, 54390, 54391, 54427, 54463, 54716, 57078, 58363, 59435. pkg-config 0.27.1 === - Various fixes for using the internal glib snapshot. It should now be usable pretty much everywhere with the exception that universal builds are not supported on OS X. - Remove usage of gettext from the internal glib to avoid gettext and libintl dependencies. - Update internal glib snapshot to 2.32.4. - Fix check for POSIX shell used in tests to work better. - Handle spaces in autodetected prefix on Windows. - Bugs fixed 3550, 51883, 52031, 53493. pkg-config 0.27 === - Drop usage of popt for equivalent API in glib2. - Add back an internal snapshot of glib2 to break circular dependency. This can be used by passing --with-internal-glib to configure. On Windows it may still be required to use an installed glib. - Fix --exists to check for Requires and Requires.private. This ensures that all necessary packages are installed prior to using --cflags, --libs, etc. - Various fixes for MinGW which should allow it to be used unpatched on that system. - New autoconf macros PKG_INSTALLDIR and PKG_NOARCH_INSTALLDIR to help determine the .pc file install directory. - Fix handling of --exact/atleast/max-version vs. =/>=/<=. - Fix errors in man page source. - Ensure testing only searches in the check directory. - Bump glib requirement to 2.16 to avoid deprecated g_win32_get_package_installation_subdirectory(). - Autotools refresh and update. The required versions now are autoconf-2.62, automake-1.11 and libtool-2.2. - Use g_alloca from glib instead of figuring out alloca ourselves. - Remove search for setresuid & setreuid only needed for internal popt. - Bugs fixed: 833, 2458, 5214, 5326, 5703, 6074, 8653, 9135, 9143, 9584, 10652, 11464, 14396, 17053, 23922, 28776, 29011, 29801, 31699, 31700, 32622, 34382, 37266, 39646, 41081, 43149, 44843, 45599, 45742, 48743 pkg-config 0.26 === - Build system fixes - More tests - pkg.m4 fixups which makes autoconf 2.66 happier. - Drop support for legacy -config scripts. Those should already be gone and cause problems in cross-compilation environments. - Drop embedded glib - Fix up pkg.m4 to handle the case of --exists working and --cflags or --libs failing. - Various documentation updates - Allow $() through without escaping it. - Add --with-system-include-path instead of hard-coding /usr/include. pkg-config 0.25 === - 0.24 included a too strict whitespace/shell metacharacter filter leading to some legal characters like = and : being escaped in the output. This has been fixed. - when building with newer and external libpopt, it would be confused over being asked to split an empty string, leading to errors with packages that included empty fields in their .pc files. - Make the COPYING file explicitly GPLv2. The COPYING file in 0.24 was inadvertently GPLv3 rather than the correct GPLv2. - Minor changes to documentation pkg-config 0.24 === - Fix up bug in PKG_CONFIG_SYSROOT handling which mangled non-I and non-L arguments - Put /usr/lib/pkgconfig and /usr/share/pkgconfig into the default search path when no prefix is passed to configure. - Portability fixes for Windows and NetBSD - Various man page updates - Add logging support to log how pkg-config is being called. - Skip Requires.private unless we need them for Cflags - Add a variable, pc_path to the compiled-in pkg-config package that you can query for the compiled-in PKG_CONFIG_PC_PATH. - Various updates to pkg.m4. - Update rpmvercmp with bugfixes from upstream. - Add introductory guide to pkg-config, thanks to Dan Nicholson for the patch. - Add listing of variables in a package - Make it possible to use external popt. - Add --print-provides and --print-requires(-private) options - Add support for paths containing whitespace and shell metacharacters pkg-config 0.23 === - Add support for setting sysroot through PKG_CONFIG_SYSROOT_DIR in the environment. - Update included glib to 1.2.10. - Other minor fixes, including a segfault. pkg-config 0.22 === - Make Requires.private a whole lot more useful by traversing the whole tree, not just the top-level, for Cflags. - Add support for using the system glib. - Update URL to pkg-config website - Fix some win32 problems. - Other minor fixes. pkg-config 0.21 === - Fix some cosmetic output from pkg.m4 - Fix build problems with !gcc due to always passing -Wall - Documentation fixes - We now always add the Cflags from packages we depend on, whether they are public or private dependencies. The discussion surrouding this change can be found in http://bugs.debian.org/340904 . - Add internal pkg-config package which can be queried for version number and other information. pkg-config 0.20 === - Fix test suite to work on Solaris. Yay non-POSIX /bin/sh :-( - Fix segfault on --help with gcc4. Fix segfault on bigendian arches in some cases. - Win32 fixes - Add --short-errors, now used by pkg.m4 if available. This gives a better error message if some libraries can't be found. pkg-config 0.19 === - Fix a segfault - Fix default search path - Fix cosmetic bug in pkg.m4 where AC_MSG_RESULT wasn't called in some cases. pkg-config 0.18.1 === - Fix up pkg.m4 to not end up with pkg_failed=untried always. pkg-config 0.18 === - The inter-library dependencies check was too tight and caused problems if one used the --no-undefined flag to libtool on Solaris (since it there expands to -Wl,-z,defs which disallows undefined symbols). Add a new name to .pc files: Libs.private which will not be listed in the output of --libs unless --static is also given. Private libraries are libraries which are needed in the case of static linking or on platforms not supporting inter-library dependencies. They are not supposed to be used for libraries which are exposed through the library in question. An example of an exposed library is GTK+ exposing Glib. A common example of a private library is libm. Generally, if include another library's headers in your own, it's a public dependency and not a private one. Thanks a lot to James Henstridge for both the bug and the following discussion. pkg-config 0.17.2 === - Don't go into an infinite loop allocating more and more memory when the same name is specified twice on the command line and we're in "direct dependencies only"-mode. pkg-config 0.17.1 === - Now actually sets CFLAGS and LIBS instead of trying to set those in a subshell. (Only affects if you've autoreconfiscated with 0.17) - Fix detection of inter-library dependencies. pkg-config 0.17 === - Evaluate second argument to PKG_CHECK_MODULES again - Portability fixes (MacOS, BeOS, Cygwin) - Handle inter-library dependencies and assume those are in place if the platform supports them. Disable with --enable-indirect-deps. - Add initial test framework - Build fixes (make distcheck now works) pkg-config 0.16 === - Use a search path, rather than a single default directory. - Fix a bunch of bugs in glib by backporting - More man page fixes - Lots of small fixes and cleanups over the place. - pkg-config now grabs _PKG_* and PKG_*, so don't use variables starting with that in any configure scripts. pkg-config 0.15 === - add PKG_CONFIG_LIBDIR for cross-compiling (David Schleef) - add --libs-only-other/--cflags-only-other (Zack Rusin) - apply man page fixes (Pter Breitenlohner) - C portability fix (David Robins) - fix to win32 build (Tor Lillqvist)