From 5a8dadafc603fbe5207a835af7f5965e28115bbd Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Sun, 19 Jul 2015 22:49:36 +0200 Subject: [PATCH] Ensure -L is never merged back --- fragment.c | 2 ++ tests/lib1/prefix-foo1.pc | 12 ++++++++++++ tests/lib1/prefix-foo2.pc | 12 ++++++++++++ tests/run.sh.in | 4 ++++ 4 files changed, 30 insertions(+) create mode 100644 tests/lib1/prefix-foo1.pc create mode 100644 tests/lib1/prefix-foo2.pc diff --git a/fragment.c b/fragment.c index 304918a..693b038 100644 --- a/fragment.c +++ b/fragment.c @@ -115,6 +115,8 @@ pkg_fragment_can_merge_back(pkg_fragment_t *base, unsigned int flags, bool is_pr if (base->type == 'F') return false; + if (base->type == 'L') + return false; return true; } diff --git a/tests/lib1/prefix-foo1.pc b/tests/lib1/prefix-foo1.pc new file mode 100644 index 0000000..3a56669 --- /dev/null +++ b/tests/lib1/prefix-foo1.pc @@ -0,0 +1,12 @@ +prefix=/usr/bar +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: prefix-foo1 +Description: A testing pkg-config file +Version: 1.2.3 +Libs: -L${libdir} -lfoo1 +Cflags: -fPIC -I${includedir}/foo1 +Cflags.private: -DFOO_STATIC + diff --git a/tests/lib1/prefix-foo2.pc b/tests/lib1/prefix-foo2.pc new file mode 100644 index 0000000..28ec566 --- /dev/null +++ b/tests/lib1/prefix-foo2.pc @@ -0,0 +1,12 @@ +prefix=/usr/bar +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: prefix-foo2 +Description: A testing pkg-config file +Version: 1.2.3 +Libs: -L${libdir} -lfoo2 +Cflags: -fPIC -I${includedir}/foo2 +Cflags.private: -DFOO_STATIC + diff --git a/tests/run.sh.in b/tests/run.sh.in index 75675e3..5ca5afe 100644 --- a/tests/run.sh.in +++ b/tests/run.sh.in @@ -264,6 +264,10 @@ run_test "PKG_CONFIG_PATH='${selfdir}/lib1' PKG_CONFIG_SYSROOT_DIR='/sysroot' ${ '-L/sysroot/lib -lfoo' run_test "PKG_CONFIG_PATH='${selfdir}/lib1' PKG_CONFIG_SYSROOT_DIR='/sysroot2' ${1} --libs sysroot-dir" \ '-L/sysroot2/sysroot/lib -lfoo' +run_test "PKG_CONFIG_PATH='${selfdir}/lib1' ${1} --libs prefix-foo1" \ + '-L/usr/bar/lib -lfoo1' +run_test "PKG_CONFIG_PATH='${selfdir}/lib1' ${1} --libs prefix-foo1 prefix-foo2" \ + '-L/usr/bar/lib -lfoo1 -lfoo2' # 10) tests for internal getopt implementation with options at the end if [ "x@STRICT_MODE@" = "xno" ]; then