[oe-commits] Dongxiao Xu : multilib: Using different sysroot for multilib recipes

git version control git at git.openembedded.org
Fri Sep 2 17:18:21 UTC 2011


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

Author: Dongxiao Xu <dongxiao.xu at intel.com>
Date:   Fri Sep  2 11:45:01 2011 +0800

multilib: Using different sysroot for multilib recipes

Thinking of the senario that, if we already built out a 64bit image
along with the full toolchain bootstrapped, then we need to build some
32bit libraries, which needs lib32 versions of gcc and eglibc. These
toolchain recipes will bootstrap again in the same sysroot, resulting
that lib32-gcc-cross-initial will find some macros owned by eglibc have
already been defined and thus it includes non-existed headers that
provided by later lib32-eglibc.

The solution for the above issue is to use different sysroot for
multilib recipes, here we add ${MLPREFIX} in front of the machine
specific sysroot directory name.

[YOCTO #1372]

Signed-off-by: Dongxiao Xu <dongxiao.xu at intel.com>

---

 meta/conf/multilib.conf |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 36793d2..df83d47 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -6,6 +6,9 @@ MULTILIB_SAVE_VARNAME = "DEFAULTTUNE"
 
 MULTILIBS ??= "multilib:lib32"
 
+STAGING_DIR_HOST = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
+STAGING_DIR_TARGET = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
+
 BBCLASSEXTEND_append_pn-acl = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-alsa-lib = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-alsa-utils = " ${MULTILIBS}"





More information about the Openembedded-commits mailing list