[oe-commits] Richard Purdie : base.bbclass: Add PKGTRIPLETS and PKGMLTRIPLETS variables
git at git.openembedded.org
git at git.openembedded.org
Mon Oct 22 08:49:51 UTC 2012
Module: openembedded-core.git
Branch: master-next
Commit: f91322edc8b9f2a5906f3908bde2508ae97f2816
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=f91322edc8b9f2a5906f3908bde2508ae97f2816
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date: Thu Oct 18 23:06:31 2012 +0000
base.bbclass: Add PKGTRIPLETS and PKGMLTRIPLETS variables
These variables correspond to the PACKAGE_ARCH list combined with the TARGET_VENDOR
and TARGET_OS values. These can be used to traverse the pkgdata structure.
Setting these once in base.bbclass stops pkgdata needing to recalculate the values
and is also useful for the reworked shlibs code in a patch that will follow this.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/classes/base.bbclass | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 801896a..f254306 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -334,6 +334,38 @@ do_build () {
:
}
+def set_packagetriplet(d):
+ archs = []
+ tos = []
+ tvs = []
+
+ archs.append(d.getVar("PACKAGE_ARCHS", True).split())
+ tos.append(d.getVar("TARGET_OS", True))
+ tvs.append(d.getVar("TARGET_VENDOR", True))
+
+ def settriplet(d, varname, archs, tos, tvs):
+ triplets = []
+ for i in range(len(archs)):
+ for arch in archs[i]:
+ triplets.append(arch + tvs[i] + "-" + tos[i])
+ triplets.reverse()
+ d.setVar(varname, " ".join(triplets))
+
+ settriplet(d, "PKGTRIPLETS", archs, tos, tvs)
+
+ variants = d.getVar("MULTILIB_VARIANTS", True) or ""
+ for item in variants.split():
+ localdata = bb.data.createCopy(d)
+ overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
+ localdata.setVar("OVERRIDES", overrides)
+ bb.data.update_data(localdata)
+
+ archs.append(localdata.getVar("PACKAGE_ARCHS", True).split())
+ tos.append(localdata.getVar("TARGET_OS", True))
+ tvs.append(localdata.getVar("TARGET_VENDOR", True))
+
+ settriplet(d, "PKGMLTRIPLETS", archs, tos, tvs)
+
python () {
import exceptions, string, re
@@ -521,6 +553,8 @@ python () {
if ".zip" in srcuri:
d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')
+ set_packagetriplet(d)
+
# 'multimachine' handling
mach_arch = d.getVar('MACHINE_ARCH', True)
pkg_arch = d.getVar('PACKAGE_ARCH', True)
More information about the Openembedded-commits
mailing list