[oe-commits] Ross Burton : multilib: let pkg-config find architecture-independent .pc files

git at git.openembedded.org git at git.openembedded.org
Mon Aug 24 22:48:37 UTC 2015


Module: openembedded-core.git
Branch: master
Commit: 6a6dd4eb53dbf8a0c31ac2d68af5befebe727596
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=6a6dd4eb53dbf8a0c31ac2d68af5befebe727596

Author: Ross Burton <ross.burton at intel.com>
Date:   Thu Aug 20 16:04:02 2015 +0100

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 at intel.com>

---

 meta/conf/multilib.conf | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 37e8481..89a8e90 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"



More information about the Openembedded-commits mailing list