[PATCH 0/4] Fixes for Requires Bugs
Dan Nicholson
dbn.lists at gmail.com
Tue May 29 23:05:42 PDT 2012
This patches fix (or partially fix) a couple long-standing bugs with
Requires and Requires.private. The first is that non-l flags are not
ordered correctly with respect to Requires. Typically this is not an
issue because the only non-l flags are -I and -L and a bit of
misordering there is not usually fatal. Bug #34504 does show a case
where this does cause breakage with paths to libraries rather than -l
flags. This does not, however, fix the case where pkg-config splits
linker flags away from their associated -l.
The other fix is an old request to support circular Requires in #7331.
This fix took two distint steps to fix.
Dan Nicholson (4):
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
check/Makefile.am | 11 ++++-
check/check-circular-requires | 15 ++++++
check/check-non-l-flags | 26 +++++++++++
check/check-requires-private | 6 +-
check/circular-1.pc | 11 +++++
check/circular-2.pc | 11 +++++
check/circular-3.pc | 11 +++++
check/non-l-required.pc | 5 ++
check/non-l.pc | 6 +++
check/public-dep.pc | 1 +
parse.c | 76 ++------------------------------
pkg.c | 98 ++++++++++++++++++++++++++++++++++------
pkg.h | 2 +
13 files changed, 187 insertions(+), 92 deletions(-)
create mode 100755 check/check-circular-requires
create mode 100755 check/check-non-l-flags
create mode 100644 check/circular-1.pc
create mode 100644 check/circular-2.pc
create mode 100644 check/circular-3.pc
create mode 100644 check/non-l-required.pc
create mode 100644 check/non-l.pc
--
1.7.7.6
More information about the pkg-config
mailing list