]> code.ossystems Code Review - meta-freescale.git/commitdiff
fsl-dynamic-packagearch.bbclass: Fix support for empty MACHINE_SOCARCH_SUFFIX
authorOtavio Salvador <otavio@ossystems.com.br>
Thu, 2 Apr 2015 19:57:57 +0000 (16:57 -0300)
committerOtavio Salvador <otavio@ossystems.com.br>
Fri, 3 Apr 2015 01:49:28 +0000 (22:49 -0300)
When MACHINE_SOCARCH_SUFFIX is empty a duplicated architecture will be
included in PACKAGE_ARCHS. The expected behaviour is to not include
duplicated values and raise an error in case a MACHINE_SOCARCH package
tries to be build.

Change-Id: I98d936409554e4e7725c8af6c0a0a0344ddec751
Reported-by: Lauren Post <lauren.post@freescale.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
meta-fsl-arm/classes/fsl-dynamic-packagearch.bbclass

index 91a1b14f24c4a6f1dbd2458fe15996744c42fe19..fa542fcef2126d8a0c591975556c11b9ac434726 100644 (file)
@@ -23,7 +23,7 @@
 # MACHINE_ARCH_FILTER = "virtual/kernel"
 # MACHINE_SOCARCH_FILTER_soc = "virtual/libgles1 ... virtual/libgl"
 #
-# Copyright 2013 (C) O.S. Systems Software LTDA.
+# Copyright 2013-2015 (C) O.S. Systems Software LTDA.
 
 python __anonymous () {
     machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER", True) or "").split())
@@ -41,15 +41,25 @@ python __anonymous () {
             if not package_arch:
                 raise bb.parse.SkipPackage("You must set MACHINE_SOCARCH as MACHINE_SOCARCH_FILTER is set for this SoC.")
 
+            machine_socarch_suffix = d.getVar("MACHINE_SOCARCH_SUFFIX", True)
+            if not machine_socarch_suffix:
+                raise bb.parse.SkipPackage("You must set MACHINE_SOCARCH_SUFFIX as MACHINE_SOCARCH_FILTER is set for this SoC.")
+
         if package_arch:
             bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN))
             d.setVar("PACKAGE_ARCH", package_arch)
+
+    cur_package_archs = (d.getVar("PACKAGE_ARCHS", True) or "").split()
+    arch_extra_socarch = (d.getVar("ARM_EXTRA_SOCARCH", True) or "")
+    thumb_extra_socarch = (d.getVar("THUMB_EXTRA_SOCARCH", True) or "")
+    if not arch_extra_socarch in cur_package_archs:
+        d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % arch_extra_socarch)
+
+    if not thumb_extra_socarch in cur_package_archs:
+        d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % thumb_extra_socarch)
 }
 
 ARM_EXTRA_SOCARCH = "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
 THUMB_EXTRA_SOCARCH = "${ARMPKGARCH}${ARM_THUMB_SUFFIX}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
 
-PACKAGE_EXTRA_ARCHS_append = " ${@bb.utils.contains('TUNE_FEATURES', 'arm', '${ARM_EXTRA_SOCARCH}', '', d) } \
-                               ${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${THUMB_EXTRA_SOCARCH}', '', d) }"
-
 MACHINE_SOCARCH = "${@bb.utils.contains('ARM_INSTRUCTION_SET', 'thumb', '${THUMB_EXTRA_SOCARCH}', '${ARM_EXTRA_SOCARCH}', d)}"