From 5c926c42f3d53d55d2568fcb19aae2adc1816080 Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Wed, 4 Jan 2017 22:36:56 +0100 Subject: [PATCH] pkg-config: use sysroot path --- config/functions | 6 ++++ .../pkg-config-0001-use-sysroot-path.patch | 28 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 packages/devel/pkg-config/patches/pkg-config-0001-use-sysroot-path.patch diff --git a/config/functions b/config/functions index e52cbec6ec..c27fe873fe 100644 --- a/config/functions +++ b/config/functions @@ -17,9 +17,12 @@ setup_toolchain() { export CFLAGS="$TARGET_CFLAGS" export CXXFLAGS="$TARGET_CXXFLAGS" export LDFLAGS="$TARGET_LDFLAGS" + export PKG_CONFIG="$ROOT/$TOOLCHAIN/bin/pkg-config" export PKG_CONFIG_PATH="" export PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig" export PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX" + export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 + export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$TARGET_NAME.conf export CMAKE="cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF -DCMAKE_INSTALL_PREFIX=/usr" if [ ! -f $CMAKE_CONF ] ; then @@ -66,9 +69,12 @@ setup_toolchain() { export CFLAGS="$HOST_CFLAGS" export CXXFLAGS="$HOST_CXXFLAGS" export LDFLAGS="$HOST_LDFLAGS" + export PKG_CONFIG="$ROOT/$TOOLCHAIN/bin/pkg-config" export PKG_CONFIG_PATH="" export PKG_CONFIG_LIBDIR="$ROOT/$TOOLCHAIN/lib/pkgconfig:$ROOT/$TOOLCHAIN/share/pkgconfig" export PKG_CONFIG_SYSROOT_DIR="" + unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS + unset PKG_CONFIG_ALLOW_SYSTEM_LIBS export CMAKE_CONF=$ROOT/$TOOLCHAIN/etc/cmake-$HOST_NAME.conf export CMAKE="cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF -DCMAKE_INSTALL_PREFIX=$ROOT/$TOOLCHAIN" if [ ! -f $CMAKE_CONF ] ; then diff --git a/packages/devel/pkg-config/patches/pkg-config-0001-use-sysroot-path.patch b/packages/devel/pkg-config/patches/pkg-config-0001-use-sysroot-path.patch new file mode 100644 index 0000000000..0b53525fd8 --- /dev/null +++ b/packages/devel/pkg-config/patches/pkg-config-0001-use-sysroot-path.patch @@ -0,0 +1,28 @@ +diff -Naur a/pkg.c b/pkg.c +--- a/pkg.c 2016-02-26 17:56:52.000000000 +0100 ++++ b/pkg.c 2017-01-02 19:48:34.000000000 +0100 +@@ -468,11 +468,14 @@ + Flag *flag = tmp->data; + char *tmpstr = flag->arg; + +- if (pcsysrootdir != NULL && flag->type & (CFLAGS_I | LIBS_L)) { ++ if (pcsysrootdir != NULL && flag->type & (CFLAGS_I | LIBS_L) && strncmp(tmpstr+2, pcsysrootdir, strlen(pcsysrootdir)) != 0) { + g_string_append_c (str, '-'); + g_string_append_c (str, tmpstr[1]); + g_string_append (str, pcsysrootdir); + g_string_append (str, tmpstr+2); ++ } else if (pcsysrootdir != NULL && strncmp(tmpstr, "/usr", 4) == 0 && strncmp(tmpstr, pcsysrootdir, strlen(pcsysrootdir)) != 0) { ++ g_string_append (str, pcsysrootdir); ++ g_string_append (str, tmpstr); + } else { + g_string_append (str, tmpstr); + } +@@ -1087,6 +1090,8 @@ + { + if (str->len > 0) + g_string_append_c (str, ' '); ++ if (pcsysrootdir != NULL && (strcmp(varname, "includedir") == 0 || strcmp(varname, "libdir") == 0) && strncmp(var, pcsysrootdir, strlen(pcsysrootdir)) != 0) ++ g_string_append (str, pcsysrootdir); + g_string_append (str, var); + g_free (var); + }