blob: ef3605a73de838a57cef4801d8dbe76f5e980412 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001
Patrick Williams213cb262021-08-07 19:21:33 -05002baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') or 'INVALID')) or d.getVar('BASELIB')}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05003
4MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
Patrick Williams2a254922023-08-11 09:48:11 -05005MULTILIB_VARIANTS[vardeps] += "MULTILIBS"
Patrick Williamsf1e5d692016-03-30 15:21:19 -05006MULTILIB_SAVE_VARNAME = "DEFAULTTUNE TARGET_ARCH TARGET_SYS TARGET_VENDOR"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007
8MULTILIBS ??= "multilib:lib32"
9
Brad Bishop6e60e8b2018-02-01 10:27:11 -050010STAGING_DIR_HOST = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
11STAGING_DIR_TARGET = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
12RECIPE_SYSROOT = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
Patrick Williams213cb262021-08-07 19:21:33 -050013RECIPE_SYSROOT:class-native = "${WORKDIR}/recipe-sysroot"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050014
Andrew Geisslereff27472021-10-29 15:35:00 -050015PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${MLPREFIX}recipe-sysroot"
16
Patrick Williamsc124f4f2015-09-15 14:41:29 -050017INHERIT += "multilib_global"
18
Patrick Williams213cb262021-08-07 19:21:33 -050019BBCLASSEXTEND:append = " ${MULTILIBS}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050020
21MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32"
22
Patrick Williams213cb262021-08-07 19:21:33 -050023OPKG_ARGS:append = " --force-maintainer --force-overwrite"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050024
25# When multilib is enabled, allarch recipes will be installed into the MACHINE
26# sysroot, not MLPREFIXMACHINE. This means that anything using pkg-config to
27# find an allarch pkgconfig file will fail as the PKG_CONFIG_PATH only looks
28# inside the multilib sysroot. Fix this by explicitly adding the MACHINE's
29# architecture-independent pkgconfig location to PKG_CONFIG_PATH.
Brad Bishop6e60e8b2018-02-01 10:27:11 -050030PKG_CONFIG_PATH .= ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig"
31PKG_CONFIG_PATH[vardepsexclude] = "datadir WORKDIR"
32PKG_CONFIG_PATH[vardepvalueexclude] = ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080033
34# These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES
35# ${MLPREFIX}${BPN}
Andrew Geissler635e0e42020-08-21 15:58:33 -050036NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot"