diff options
Diffstat (limited to 'meta')
-rw-r--r-- | 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 801896a5b9..f254306d3b 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) |