[Buildroot] [PATCH v2] pkgconf: always keep system libs

Thomas Preston thomas.preston at codethink.co.uk
Mon Nov 25 12:42:21 UTC 2019


Normally pkgconf ignores the system include and system lib directories,
which is useful because it allows the correct ordering of -I, -isystem
and compiler default search paths. However, many packages use libtool,
which relies on pkgconf to print the system libs dirs in order to locate
the Libtool Archive (.la) files.

Instead of adding PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 to each of these
packages, just allow system libs globally in the pkg-config wrapper.
This allows libtool to find the .la files, and retains the correct
include ordering.

Fixes (at least):
- http://autobuild.buildroot.org/results/a79e0487135ad90530595d5c6ecc32f9c8cea7c4/
- http://autobuild.buildroot.net/results/089/08952dbf89bf3c49da7697943441cee411940420/

Signed-off-by: Thomas Preston <thomas.preston at codethink.co.uk>
Tested-by: Peter Seiderer <ps.report at gmx.net>
---
 package/pkgconf/pkg-config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/pkgconf/pkg-config.in b/package/pkgconf/pkg-config.in
index f411eb0926..e5a23a10f7 100644
--- a/package/pkgconf/pkg-config.in
+++ b/package/pkgconf/pkg-config.in
@@ -9,4 +9,4 @@ PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-${DEFAULT_PKG_CONFIG_LIBDIR}} \
 	PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR:-${DEFAULT_PKG_CONFIG_SYSROOT_DIR}} \
 	PKG_CONFIG_SYSTEM_INCLUDE_PATH=${PKG_CONFIG_SYSTEM_INCLUDE_PATH:-${DEFAULT_PKG_CONFIG_SYSTEM_INCLUDE_PATH}} \
 	PKG_CONFIG_SYSTEM_LIBRARY_PATH=${PKG_CONFIG_SYSTEM_LIBRARY_PATH:-${DEFAULT_PKG_CONFIG_SYSTEM_LIBRARY_PATH}} \
-	exec ${PKGCONFDIR}/pkgconf @STATIC@ "$@"
+	exec ${PKGCONFDIR}/pkgconf --keep-system-libs @STATIC@ "$@"
-- 
2.23.0



More information about the buildroot mailing list