[oe-commits] Robert Yang : multilib.bbclass: install all bits toochains when populate mlprefix SDK

git at git.openembedded.org git at git.openembedded.org
Wed Sep 23 22:50:18 UTC 2015


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

Author: Robert Yang <liezhi.yang at windriver.com>
Date:   Tue Sep 15 19:04:12 2015 -0700

multilib.bbclass: install all bits toochains when populate mlprefix SDK

Fixed when:
$ bitbake lib32-core-image-minimal  -cpopulate_sdk

Only 32 bit toolchain was installed but there were both
environment-setup-core2-64-poky-linux and
environment-setup-core2-64-pokymllib32-linux in extracted sdk, this was
becase multilib.bbclass mapped TOOLCHAIN_TARGET_TASK into only lib32-
ones, and dropped 64 bit ones. This patches fixes the problem.

[YOCTO #8089]

Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/multilib.bbclass | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 8f61d8d..465e208 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -94,8 +94,22 @@ python __anonymous () {
         d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "")
 
     if bb.data.inherits_class('populate_sdk_base', d):
+        orig_task = (d.getVar('TOOLCHAIN_TARGET_TASK', True) or "").split()
+        orig_task_attemptonly = (d.getVar('TOOLCHAIN_TARGET_TASK_ATTEMPTONLY', True) or "").split()
         clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
         clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY")
+        # Append original tasks since all bits (such as 32 and 64)
+        # toolchains should be installed when mutilib.
+        task = (d.getVar('TOOLCHAIN_TARGET_TASK', True) or "").split()
+        task_attemptonly = (d.getVar('TOOLCHAIN_TARGET_TASK_ATTEMPTONLY', True) or "").split()
+        for t in orig_task:
+            if t not in task:
+                task.append(t)
+        for t in orig_task_attemptonly:
+            if t not in task_attemptonly:
+                task_attemptonly.append(t)
+        d.setVar("TOOLCHAIN_TARGET_TASK", " ".join(task))
+        d.setVar("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY", " ".join(task_attemptonly))
 
     if bb.data.inherits_class('image', d):
         return



More information about the Openembedded-commits mailing list