summaryrefslogtreecommitdiffstats
path: root/meta/classes/multilib.bbclass
AgeCommit message (Collapse)Author
2017-02-15classes: Drop now unneeded update_data callsRichard Purdie
Now that the datastore works dynamically we don't need the update_data calls so we can just remove them. They're not actually done anything at all for a while. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-06meta/scripts: Various getVar/getVarFlag expansion parameter fixesRichard Purdie
There were a few straggling expansion parameter removals left for getVar/getVarFlag where the odd whitespace meant they were missed on previous passes. There were also some plain broken ussages such as: d.getVar('ALTERNATIVE_TARGET', old_name, True) path = d.getVar('PATH', d, True) d.getVar('IMAGE_ROOTFS', 'True') which I've corrected (they happend to work by luck). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-31base.bbclass: drop obsolete HOSTTOOLS_WHITELIST_GPL-3.0Andre McCurdy
base.bbclass sets 'check_license' to False (and therefore skips license checking completely) for native, nativesdk, etc recipes (ie anything which could potentially be classed as "host tools"), so supporting a dedicated whitelist of GPLv3 host tools is not necessary. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-26mulitlib: Ensure SDKTARGETSYSROOT is set correctlyRichard Purdie
When building something like lib32-core-image-minimal -c populate_sdk, we expect one sysroot with both multilibs installed. We therefore need a single SDKTARGETSYSROOT value which doesn't change when multilibs are enabled. This makes the image generation code match what the meta-environment files set the SDK up to use. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-26multilib: Drop populate_sdk variable manipulationRichard Purdie
I believe this code dates from previous times when we didn't extend the TOOLCHAIN_TARGET* variables to cover all multilibs. We now do this so this code acutally breaks things by removing the non-multilib variants. By changing this, a multilib SDK now contains both sets of base libraries which matches the tools we ship with it. If the user wishes to customise, this also becomes easier. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-11multilib.bbclass: use package_qa_handle_errorRobert Yang
Use package_qa_handle_error to handle the QA issue. Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2015-05-03multilib: Tweak value of PN used for OVERRIDESRichard Purdie
Currently, PN is used in overrides which is expanded to have a MLPREFIX. This means and pn- overrides without the prefix would be ignored which is not what is usually expected. We noticed huge problems using poky-lsb with multilib since the per recipe overrides were not applied. This adds in handling for PN with and without the prefix. This should unbreak world-lsb builds on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04multilib.bbclass/package_manager.py: fix <multilib>-meta-toolchain build failureHongxu Jia
There is a failure to build lib32-meta-toolchain: ... |ERROR: lib32-packagegroup-core-standalone-sdk-target not found in the base feeds (qemux86_64 x86 noarch any all). ... In package_manager.py, the variable 'DEFAULTTUNE_virtclass-multilib-lib32' is used to process multilib image/toolchain. But for the build of lib32- meta-toolchain, the value of 'DEFAULTTUNE_virtclass-multilib-lib32' is deleted. In 'bitbake lib32-meta-toolchain -e', we got: ... |# $DEFAULTTUNE_virtclass-multilib-lib32 [2 operations] |# set? /home/jiahongxu/yocto/build-20141010-yocto/conf/local.conf:237 |# "x86" |# del data_smart.py:406 [finalize] |# "" |# pre-expansion value: |# "None" ... The commit 899d45b90061eb3cf3e71029072eee42cd80930c in oe-core deleted it at DataSmart.finalize ... Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Tue May 31 23:52:50 2011 +0100 bitbake/data_smart: Change overrides behaviour to remove expanded variables from the datastore ... We add an internal variable 'DEFAULTTUNE_ML_<multilib>', assign it with the value of 'DEFAULTTUNE_virtclass-multilib-lib32' before deleting. For rpm backend in package_manager.py, we use DEFAULTTUNE_virtclass-multilib -lib32 first, if it is not available, and try to use DEFAULTTUNE_ML_<multilib> [YOCTO #6842] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-11-04multilib.bbclass: fix incorrect TARGET_VENDOR in multilib imageHongxu Jia
While building multilib extended images such as libXX-core-image-minimal, the WORKDIR has the same dir with the building of core-image-minimal. $ ls tmp/work/qemux86_64-poky-linux/ -al ... drwxrwxr-x 3 jiahongxu jiahongxu 4096 Oct 13 16:01 core-image-minimal drwxrwxr-x 3 jiahongxu jiahongxu 4096 Oct 16 11:11 lib32-core-image-minimal ... While image class is inherited, it did not assign OVERRIDES with 'virtclass-multilib-libXXX', so the reason is variable TARGET_VENDOR was not override for multilib in that situation. It refers what did for PN and MLPREFIX, and manually do the multilib override for TARGET_VENDOR in RecipePreFinalise handler. [YOCTO #6844] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-07-19default-distrovars/multilib: update license whitelists to use canonical namesRoss Burton
Now that all licenses are canonicalised to SPDX names when processing, we need to rename the whitelists to the match. [RP: Fixed up multilib.bbclass too] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-28multilib.bbclass: fix Multilib QA IssueMing Liu
Multilib QA warning was observed, as follows: ------ WARNING: Multilib QA Issue: lib32-oprofile package lib32-oprofile - suspicious values 'kernel-vmlinux' in RRECOMMENDS ------ The package starting with 'kernel-vmlinux' should be ok with multilib QA checking. Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-10multilib: Ensure we map the SYSTEMD_PACKAGES variableRoy Li
If we don't do this, systemd.bbclase will complain to unable to find multilib packages since PACKAGES is expand with mlprefix, but SYSTEMD_PACKAGES is not, like in ntp.inc: $grep PACKAGES meta-oe/meta-networking/recipes-support/ntp/ntp.inc PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils" SYSTEMD_PACKAGES = "${PN} ntpdate sntp" $ $bitbake ntp ERROR: ntpdate does not appear in package list, please add it ERROR: sntp does not appear in package list, please add it $ Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-13bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific ↵Richard Purdie
directory Currently we have a hierarchy of pkgdata directories and the code has to put together a search path and look through each in turn until it finds the data it needs. This has lead to a number of hardcoded paths and file globing which is unpredictable and undesirable. Worse, certain tricks that should be easy like a GL specific package architecture become problematic with the curretn search paths. With the modern sstate code, we can do better and construct a single pkgdata directory for each machine in just the same way as we do for the sysroot. This is already tried and well tested. With such a single directory, all the code that iterated through multiple pkgdata directories and simply be removed and give a significant simplification of the code. Even existing build directories adapt to the change well since the package contents doesn't change, just the location they're installed to and the stamp for them. The only complication is the we need a different shlibs directory for each multilib. These are only used by package.bbclass and the simple fix is to add MLPREFIX to the shlib directory name. This means the multilib packages will repackage and the sstate checksum will change but an existing build directory will adapt to the changes safely. It is close to release however I believe the benefits this patch give us are worth consideration for inclusion and give us more options for dealing with problems like the GL one. It also sets the ground work well for shlibs improvements in 1.6. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30multilib.bbclass: Expand the WHITELISTs with multilib prefixJackie Huang
fix the following failures: ERROR: Nothing PROVIDES 'virtual/lib32-i586-pokymllib32-linux-compilerlibs' ERROR: Nothing RPROVIDES 'lib32-update-alternatives-cworth' Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-14classes/conf: Add eventmasks for event handlersRichard Purdie
Now that bitbake supports masking events for event handlers, lets use this so event handlers are only called for events they care about. This lets us simplify the code indentation a bit at least as well as mildly improving the event handling performance. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-07multilib.bbclass: fix the PACKAGEFUNCS_appendRobert Yang
The PACKAGEFUNCS_append = "do_package_qa_multilib" lacks a "space", which would cause unexpected errors. [YOCTO #3190] [YOCTO #4396] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-18multilib: Ensure we map the USERADD_PACKAGES variableRichard Purdie
If we don't do this, multilib packages don't have any code added to the postinstalls to handle user additions. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-14multilib: Fix an OVERRIDES expansion order issueRichard Purdie
There were problems where a SRC_URI with: SRC_URI_append_powerpc = " xxx" SRC_URI_append_powerpc64 = " xxx2" would end up with *both* xxx and xxx2 being added when using a multilib which is clearly incorrect and undesirable. The issue is that OVERRIDES has virtclass-multilib-xxxx added to it, this eventually changed DEFAULTTUNE which then changes TRANSLATED_TARGET_ARCH which is in OVERRIDES meaning we then need to re-evaluate the overides and the TRANSLATED_TARGET_ARCH gets applied twice since once you apply an override, it doesn't get undone. Expanding DEFAULTTUNE to the correct value in advance avoids the issue and means only the correct overrides get applied. [YOCTO #3874] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11multilib.bbclass: save multilib variables before executing the ↵Constantin Musca
gcc-cross-canadian statements Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-01multilib: skip packages that provide virtual/kernelBruce Ashfield
Rather than keying on recipes that inherit kernel.bbclass, we should be checking for providers of virtual/kernel when skipping kernel recipes in multlib builds. Not all providers of virtual/kernel inherit kernel.bbclass (notably linux-dummy), so checking on the provider is a more complete check. We need to be sure to check for inheritance of module-base as well, this allows for packages that provides modules to avoid the multilib renaming. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-31multilib: fix allarch/kernel/module-base multilib issuesConstantin Musca
- skip the non-packagegroup allarch recipes in multilib_virtclass_handler - extend PROVIDES/RPROVIDES for allarch recipes which are not packagegroups - use variants from MULTILIB_GLOBAL_VARIANTS (lib32 lib64 libx32) to create additional pkgdata files for multilib allarch: ${pkgdatadir}/${variant}-${PN} and ${pkgdatadir}/runtime/${variant}-${pkg} - use variants from MULTILIB_VARIANTS to create additional pkgdata files for multilib kernel/module-base recipes - add a sanity check to determine if the current multilib is in MULTILIB_GLOBAL_VARIANTS [YOCTO #2918] [YOCTO #3440] [YOCTO #3565] [YOCTO #3568] Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-11multilib.bbclass: fix do_package_qa_multilibConstantin Musca
The packages which start with "rtld" are ok [YOCTO #3440] Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-21multilib.bbclass: Drop populate_sdk_base exclusionRichard Purdie
With this recently introduced exclusion, <multilib>-meta-toolchain-sdk throws errors about missing DEPENDS that don't exist since it needs the PROVIDES/DEPENDS remapping. This patch tweaks the class tests to fix the errors. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-26multilib - crosssdk: Stop building multilib for crosssdk packagesMark Hatle
Crosssdk packages are not actually multilib packages, so treat them the same as other nativesdk packages in the multilib, base, and classextend components. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-26multilib: Add support for cross-canadian multilib packagesMark Hatle
Add support for the generation of cross-canadian packages. Each cross-canadian package has: PN = "pkg-cross-canadian-${TRANSLATED_TARGET_ARCH}" in order for that to be evaluated properly with multilibs enabled, it was necessary to detect both the presence of the cross-canadian packages and then update the vars using the OVERRIDE for the multilib. Additional checks were made to ensure that any dependency that sais "cross-canadian" did not get prefixed with the MLPREFIX. Also, make sure that even when building multilib cross-canadian packages, we only use the single SDK PACKAGE_ARCH, we don't want or need variants. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-22multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMICRichard Purdie
Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors, the variable manipulations performed by clsextend for multilib don't work. This patch at least improves it to hack around the problem and enable mulitlib builds to work again. If this code doesn't do the right thing, the recipe is free to override the variable with the correct multilib case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02classes: Update to use corrected bb.utils.explode_dep_versions2 APIRichard Purdie
The bb.utils.explode_dep_versions function has issues where dependency information can be lost. The API doesn't support maintaining the correct information so this changes to use a new function which correctly handles the data. This patch also fixes various points in the code to ensure that we do not have any duplicates in things that use explode_dep_versions. A new sanity test to test the contents of the R* variables is also added. [Some changes from Mark Hatle <mark.hatle@windriver.com>] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02multilib: Move redefinition of STAGING_DIR_KERNELMark Hatle
If the STAGING_DIR_KERNEL is set in the multilib.conf, then it may be set incorrected. The evaluation happens before TMPDIR and LIBC are defined in other components. Moving the definition process to the multilib.bbclass ensures that everything has been loaded before it is set. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26packagedata/multilib: Fix search patch for multilib buildsRichard Purdie
The current multilib search path code for packagedata is flawed since it doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that multilib may make. This patch enhances the code to correctly build the search paths so multilib packagedata is found correctly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24classes/multilib: prevent multilib extension of nativesdk recipesPaul Eggleton
It isn't supported to mix multilib and nativesdk in the same target, so explicitly skip multilib processing if nativesdk is inherited. As a bonus this fixes a bunch of related "missing file" warnings from the file checksum code during parsing because BPN was not correctly stripped for these targets. Second half of the fix for [YOCTO #3146]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24classes/multilib: ensure MLPREFIX is set for image recipesPaul Eggleton
We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for the value of BPN) can derive the bare name from the multilib-extended name for image recipes. BPN being set correctly avoids missing file warnings during parse from the file checksum code for (unusual) images that set SRC_URI, such as build-appliance-image. First half of the fix for [YOCTO #3146]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02Complete recipe enablementBogdan Marinescu
RP: The list of recipes in multilib.conf needs to go away and we need to just be able to extend all recipes with the multilib class. Tested by building and running lib32-core-image-sato-sdk. [YOCTO #1563] Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-09multilib: Enable multilib remapping for SDK generationMark Hatle
Enable the remapping for SDK generation, this is required to be able to create an SDK that targets an alternative multilib. Note, this work does not finish SDK/multilib support, but it is one more step toward making it work properly. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18multilib.bbclass: Added multilib specific package QA.Lianhao Lu
Added a new PACKAGEFUNCS function to check the multilib packages' dependency. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14mulitlib.bbclass: Ensure correct value of ALL_MULTILIB_PACKAGE_ARCHS is ↵Richard Purdie
preserved The value of ALL_MULTILIB_PACKAGE_ARCHS needs to be consistent both in multilib extended recipes and in normal context. If this isn't the case it can lead to inconsistent configuration files at a minimum. This patch ensures the value is preserved during the class extension code since computing it after that point is hard. [YOCTO #2290] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28multilib.bbclass: allow TARGET_VENDOR_virtclass-multilib to be overridenMatthew McClintock
If we set this bit, we can override the ugly "pokymllib32" to back to "poky" (powerpc-pokymllib32-linux-gcc -> powerpc-poky-linux-gcc). I've left this unset by default, but can be set by adding the following: TARGET_VENDOR_virtclass-multilib-lib32 = "-poky" Signed-off-by: Matthew McClintock <msm@freescale.com>
2012-01-05multilib: Abstract class extension code into classextend.pyRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08multilib: Drop MULTILIB_IMAGE_INSTALLDongxiao Xu
There should just be a single IMAGE_INSTALL variable. If the package backends need this split into different multilib components they should be responsible for doing this, not the user. This commit removes the MULTILIB_IMAGE_INSTALL variable. [YOCTO #1564] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28multilib: add MLPREFIX to deploy folderDongxiao Xu
Add MLPREFIX to multilib deploy forlder to avoid the confliction between multilib and normal package deploy directory. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28multilib: remove the multilib handling to allarchDongxiao Xu
currently we have allarch type of recipes, which may still have architecture dependency, like x11-common. So we need to drop the handling to allarch in multilib case. Also remove the PV postfix in python-pygobject DEPENDS, since multilib code will treat a native package multilib capable. [YOCTO #1497] [YOCTO #1498] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-09-28multilib.bbclass: map RDEPENDS and LINGUAS_INSTALL for image recipesDongxiao Xu
RDEPENDS of image type recipe needs to be mapped to make sure that the packages included in the image should be multilib version. Also add LINGUAS_INSTALL into MULTILIB_PACKAGE_INSTALL list. [YOCTO #1496] [YOCTO #1527] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-09-22multilib.bbclass: Partially fix multlib image targetsRichard Purdie
This patch partially fixes problems when building multilib extended images such as libXX-core-image-minimal. Its not a perfect/complete solution but works much better than any previous code did. [YOCTO #1496] (partial) [YOCTO #1497] (partial) [YOCTO #1498] (partial) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21rpm: add multilib prefix for archs under deploy/rpmDongxiao Xu
Currently MACHINE_ARCH deploy folder is unique in multilib system, thus a lib32 version of rpm package will override a normal rpm package if its PACKAGE_ARCH is ${MACHINE_ARCH}. Define different deploy folder for multilib architectures to avoid the confliction. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-09-02multilib: Only build one kernelRichard Purdie
For a given system we only want one kernel to be built. This change makes the main kernel recipe provide all of the provides of the various enabled multilibs hence allowing it to fulfil all the appropriate dependencies. To make this work a global multilib class file needed to be created. This patch also enables this multi provider functionality for "allarch" packages. [YOCTO #1361] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31package.bbclass: Ensure task's variable dependencies are correctly caputred ↵Richard Purdie
in the sstate checksum [YOCTO #1388] This change is needed to correctly add the dependencies for the do_package task which bitbake is unable to automatically detect itself. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-26multilib.bbclass: add renaming for INITSCRIPT related variablesDongxiao Xu
Initscripts are missing in target image in multilib case. This commit adds the renaming logic for the related variables in multilib.bbclass. This fixes the no response of mouse/keyboard in target system due to the missing of udev startup script. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-08-26multilib.bbclass: add "pkg_postinst" and "pkg_postrm" as renaming elementsDongxiao Xu
Add "pkg_postinst" and "pkg_postrm" as renaming elements, which fixes missing post install/rm scripts in target image. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-08-26multilib.bbclass: Fix renaming logic for "FILES_", "RDEPENDS_", etcDongxiao Xu
In the orignal logic, the renaming will not work for "FILES_" if defined variables as: PACKAGES = "${PN}" FILES_abc = "/usr/include/abc.h" It is because ${PN} is "lib64-abc" so it will not be contained in pkgrename. This commit enumerates all element in PACKAGES, getting the original packages and multilib packages, then doing renaming for "FILES_", "RDEPENDS_", etc. This fixes a lot of missing files and incorrect dependencies. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-08-15utils.bbclass/multilib.class: Added misc supporting functions.Lianhao Lu
1. Added variable MULTILIB_VARIANTS to store all the instance variants for multilib extend. 2. Added function all_multilib_tune_values to collect the variable values for all multilib instance. 3. multilib bbclass handler will save the orignal value of all variables defined in MULTILIB_SAVE_VARNAME. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>