pkg-config 0.28
Dan Nicholson
dbn.lists at gmail.com
Thu Jan 24 05:57:21 PST 2013
pkg-config-0.28 has been released and is available for download. There
are a lot of bug fixes here for long standing issues. I think this
release is a great improvement, but there have been a couple minor
behavior changes made to fix the difficult bugs.
I believe the pkg-config output should be entirely compatible with
current usage since the test suite has been extended quite a bit and
catches regressions much better than it used to. That said, please see
the details of the changes in the NEWS below, try out the latest
release, and let us know if you're having any issues with pkg-config.
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.
The tagged git repo and tarball can be found here:
http://cgit.freedesktop.org/pkg-config/
git tag: pkg-config-0.28
http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
MD5: aa3c86e67551adc3ac865160e34a2a0d
SHA1: 71853779b12f958777bffcb8ca6d849b4d3bed46
SHA256: 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845
Here's the shortlog of changes since version 0.27.1.
Adrian Bunk (1):
remove the .cvsignore file
Dan Nicholson (69):
Add optional usage of gcov for test coverage
check: Pass args to test function instead of setting in variable
check: Test --define-variable corner cases
check: Exercise all printing options
check: Check path handling
check: Enhance --print-requires tests
check: Test pkg-config version
check: Test sysroot support
Fix formatting for --print-provides in man page
check: Test -uninstalled functionality
check: Ensure debugging output works correctly
check: Ensure unknown options fail
check: Test all variants of --cflags and --libs
Kill a bunch of unused code
check: Test version comparisons within Requires fields
Install pkg-config link with $host- prefix
Make sure recursion only happens with requires
Consistently resolve requires depth-first to fix non-l flag ordering
Delay converting Requires entries to Packages until after parsing
Support circular Requires loops
Don't crash on --print-variables when there are no variables
Only match uninstalled packages that end in "-uninstalled" with hyphen
Nest copying and merging of flags to avoid repeated traversals
Move --print-variables handling after --exists for consistency
Remove pkg-config.in script
Allow all combinations of --cflags and --libs variants
Use package filename rather than Name in debugging
Remove extra spaces from list debugging output
Test ordering of flags based on package depth and path
Test stripping of duplicate flags
Add a gtk testcase to provide something with complex interactions
Use standard GSList functions to merge package lists
Always use --static test results for indirect depencency results
Convert to doubly-linked GList
Remove duplicate packages after resolving requires
Traverse list backwards instead of copying and reversing
Start from end of package lists when processing Requires
Remove duplicate string list elements in place
Optimize hash table when usage is only as a set
Fix one hash table optimization to use key=value
Sort -other Libs and Cflags by package order instead of path order
Cleanup prototypes for list operating functions
Unify string list stripping functions and operate on list in place
Limit merging of packages and flags to path or dependency order
Pass around flags types instead of function pointers
Output -L Libs flags before other Libs flags
Keep Libs and Cflags together to maintain ordering
Output -l and other Libs flags in the order they appear
Only strip duplicate arguments when they appear consecutively
Document PKG*INSTALLDIR autoconf macros in manpage
Update README.win32 to reflect current pkg-config behavior
Fix hardcoded version if check-debug
Cleanup local variable declarations
Split out package processing to separate function to cleanup main
Convert ints used as bools to gbooleans
Handle output mode options in callback
Use flags for --cflags/--libs options
Enforce exclusive output options
Explicitly set --exists as the default option
Imply --exists when --atleast/exact/max-version passed
Enforce that only the first --atleast/exact/max-version option honored
Fix handling of --print/silence-errors for all output options
Add root /lib* directories to the default -L paths
Greatly simplify circular Requires checking
Use the standard pkg-config macros to check for glib
Merge branch 'flag-order-fixes'
Remove $host-pkg-config when uninstalling
Fix srcdir != builddir error in check-debug
Update NEWS and bump version for release
David Michael (1):
Include PKG_CHECK_VAR macro for reading variables in .pc files
Michał Sawicz (1):
Allow ~ through unescaped
Mike Frysinger (1):
Extend default system library path for libdirs other than lib64
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pkg-config/attachments/20130124/eb950a2b/attachment.pgp>
More information about the pkg-config
mailing list