From a1fd97e1c7fda0fc2813aa8360972cfe69092ccd Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Sat, 29 Sep 2018 15:23:10 +0800 Subject: multilib: avoid expanding grub and grub-efi to multilib It doesn't make much sense to expand them to multilib, and there is an error on qemuarm64 since grub-efi supports arm64, but doesn't support armv7a or armv7ve: * Fixed: MACHINE = "qemuarm64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7a" MACHINE_FEATURES_append = " efi" $ bitbake lib32-core-image-minimal Also introduced a variable NON_MULTILIB_RECIPES in multilib.conf, so that we can easily add other recipes, such as syslinux if needed. (From OE-Core rev: 25f7c6c329038b443d36074fff45a30ba3712f7a) Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/multilib.bbclass | 8 ++++++-- meta/classes/multilib_global.bbclass | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index db39e02d42..6c6499a23e 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass @@ -11,8 +11,12 @@ python multilib_virtclass_handler () { # There should only be one kernel in multilib configs # We also skip multilib setup for module packages. provides = (e.data.getVar("PROVIDES") or "").split() - if "virtual/kernel" in provides or bb.data.inherits_class('module-base', e.data) or "make-mod-scripts" in e.data.getVar("PN"): - raise bb.parse.SkipRecipe("We shouldn't have multilib variants for the kernel") + non_ml_recipes = d.getVar('NON_MULTILIB_RECIPES').split() + bpn = e.data.getVar("BPN") + if "virtual/kernel" in provides or \ + bb.data.inherits_class('module-base', e.data) or \ + bpn in non_ml_recipes: + raise bb.parse.SkipRecipe("We shouldn't have multilib variants for %s" % bpn) save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME") or "" for name in save_var_name.split(): diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass index 1bb62427b0..649cc096b7 100644 --- a/meta/classes/multilib_global.bbclass +++ b/meta/classes/multilib_global.bbclass @@ -164,8 +164,11 @@ python multilib_virtclass_handler_global () { if variant: return + non_ml_recipes = d.getVar('NON_MULTILIB_RECIPES').split() + if bb.data.inherits_class('kernel', e.data) or \ - bb.data.inherits_class('module-base', e.data): + bb.data.inherits_class('module-base', e.data) or \ + d.getVar('BPN') in non_ml_recipes: variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split() import oe.classextend -- cgit v1.2.3-54-g00ecf