aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2015-08-20 16:04:02 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-24 23:24:53 +0100
commit6a6dd4eb53dbf8a0c31ac2d68af5befebe727596 (patch)
tree854cc39b4af699b2a87be43fdfcccf60210a9d30
parentc38acd720b3f6ffbeb544063692eb471dada8593 (diff)
downloadopenembedded-core-contrib-6a6dd4eb53dbf8a0c31ac2d68af5befebe727596.tar.gz
multilib: let pkg-config find architecture-independent .pc files
If a multilib package depends on an allarch recipe that installs an architecture-independent .pc file it will not be able to find the .pc file as the recipe gets installed into the MACHINE sysroot but pkg-config looks in the MLPREFIX-prefixed sysroot. Solve this by extending PKG_CONFIG_PATH in multilib environments to include the architecture-independent path in the MACHINE sysroot (sysroots/MACHINE/usr/share/pkgconfig/). Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/conf/multilib.conf7
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 37e8481112..89a8e9096f 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -17,3 +17,10 @@ BBCLASSEXTEND_append = " ${MULTILIBS}"
MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32"
OPKG_ARGS_append = " --force-maintainer --force-overwrite"
+
+# When multilib is enabled, allarch recipes will be installed into the MACHINE
+# sysroot, not MLPREFIXMACHINE. This means that anything using pkg-config to
+# find an allarch pkgconfig file will fail as the PKG_CONFIG_PATH only looks
+# inside the multilib sysroot. Fix this by explicitly adding the MACHINE's
+# architecture-independent pkgconfig location to PKG_CONFIG_PATH.
+PKG_CONFIG_PATH .= ":${STAGING_DIR}/${MACHINE}${datadir}/pkgconfig"