]> code.ossystems Code Review - openembedded-core.git/commitdiff
cross-canadian.bbclass: Add BASECANADIANEXTRAOS to specify main extraos
authorMark Hatle <mark.hatle@windriver.com>
Mon, 7 Dec 2015 21:36:11 +0000 (15:36 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 17 Aug 2016 09:26:12 +0000 (10:26 +0100)
By default the system will expand the extra os entries for uclibc and musl
even if they are not enabled in the build.  There was no way to prevent this
behavior while still getting the expansion for things like x32 or spe.

The change adds a new setting which a distribution creator can override
easily, setting the base set of canadianextraos components.  The other
expansions are then based on this setting.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/cross-canadian.bbclass

index d35451dbf299b1fe871217de053337f5f6d0f48b..099c0daf42ca2a8583c62a43361b70deb092f7b0 100644 (file)
@@ -15,7 +15,8 @@ STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${S
 # Update BASE_PACKAGE_ARCH and PACKAGE_ARCHS
 #
 PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}"
-CANADIANEXTRAOS = "linux-uclibc linux-musl"
+BASECANADIANEXTRAOS ?= "linux-uclibc linux-musl"
+CANADIANEXTRAOS = "${BASECANADIANEXTRAOS}"
 CANADIANEXTRAVENDOR = ""
 MODIFYTOS ??= "1"
 python () {
@@ -34,8 +35,13 @@ python () {
 
     tos = d.getVar("TARGET_OS", True)
     whitelist = []
+    extralibcs = [""]
+    if "uclibc" in d.getVar("BASECANADIANEXTRAOS", True):
+        extralibcs.append("uclibc")
+    if "musl" in d.getVar("BASECANADIANEXTRAOS", True):
+        extralibcs.append("musl")
     for variant in ["", "spe", "x32", "eabi", "n32"]:
-        for libc in ["", "uclibc", "musl"]:
+        for libc in extralibcs:
             entry = "linux"
             if variant and libc:
                 entry = entry + "-" + libc + variant
@@ -59,14 +65,20 @@ python () {
     if tarch == "x86_64":
         d.setVar("LIBCEXTENSION", "")
         d.setVar("ABIEXTENSION", "")
-        d.appendVar("CANADIANEXTRAOS", " linux-gnux32 linux-uclibcx32 linux-muslx32")
+        d.appendVar("CANADIANEXTRAOS", " linux-gnux32")
+        for extraos in d.getVar("BASECANADIANEXTRAOS", True).split():
+            d.appendVar("CANADIANEXTRAOS", " " + extraos + "x32")
     elif tarch == "powerpc":
         # PowerPC can build "linux" and "linux-gnuspe"
         d.setVar("LIBCEXTENSION", "")
         d.setVar("ABIEXTENSION", "")
-        d.appendVar("CANADIANEXTRAOS", " linux-gnuspe linux-uclibcspe linux-muslspe")
+        d.appendVar("CANADIANEXTRAOS", " linux-gnuspe")
+        for extraos in d.getVar("BASECANADIANEXTRAOS", True).split():
+            d.appendVar("CANADIANEXTRAOS", " " + extraos + "spe")
     elif tarch == "mips64":
-        d.appendVar("CANADIANEXTRAOS", " linux-gnun32 linux-uclibcn32 linux-musln32")
+        d.appendVar("CANADIANEXTRAOS", " linux-gnun32")
+        for extraos in d.getVar("BASECANADIANEXTRAOS", True).split():
+            d.appendVar("CANADIANEXTRAOS", " " + extraos + "n32")
     if tarch == "arm" or tarch == "armeb":
         d.appendVar("CANADIANEXTRAOS", " linux-musleabi linux-uclibceabi")
         d.setVar("TARGET_OS", "linux-gnueabi")