mirror of
https://git.yoctoproject.org/poky
synced 2026-03-31 11:02:21 +02:00
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/). (From OE-Core rev: 6a6dd4eb53dbf8a0c31ac2d68af5befebe727596) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
|
|
baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or d.getVar('BASELIB', True)}"
|
|
|
|
MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
|
|
MULTILIB_SAVE_VARNAME = "DEFAULTTUNE TARGET_ARCH TARGET_SYS"
|
|
|
|
MULTILIBS ??= "multilib:lib32"
|
|
|
|
STAGING_DIR_HOST = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
|
|
STAGING_DIR_TARGET = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
|
|
PKGDATA_DIR = "${STAGING_DIR}/${MACHINE}/pkgdata"
|
|
|
|
INHERIT += "multilib_global"
|
|
|
|
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"
|