summaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2015-04-02 16:57:57 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2015-04-02 22:49:28 -0300
commit51197a9c169c342a6d7840c0d687fa50ba52d83c (patch)
treedd6919ac15daf5948fb456884ab4282e12cb8249 /classes
parent685ad952bbbecd04cc2c475da5178d48d53327f5 (diff)
downloadmeta-fsl-arm-51197a9c169c342a6d7840c0d687fa50ba52d83c.tar.gz
fsl-dynamic-packagearch.bbclass: Fix support for empty MACHINE_SOCARCH_SUFFIX
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>
Diffstat (limited to 'classes')
-rw-r--r--classes/fsl-dynamic-packagearch.bbclass18
1 files changed, 14 insertions, 4 deletions
diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass
index 91a1b14..fa542fc 100644
--- a/classes/fsl-dynamic-packagearch.bbclass
+++ b/classes/fsl-dynamic-packagearch.bbclass
@@ -23,7 +23,7 @@
23# MACHINE_ARCH_FILTER = "virtual/kernel" 23# MACHINE_ARCH_FILTER = "virtual/kernel"
24# MACHINE_SOCARCH_FILTER_soc = "virtual/libgles1 ... virtual/libgl" 24# MACHINE_SOCARCH_FILTER_soc = "virtual/libgles1 ... virtual/libgl"
25# 25#
26# Copyright 2013 (C) O.S. Systems Software LTDA. 26# Copyright 2013-2015 (C) O.S. Systems Software LTDA.
27 27
28python __anonymous () { 28python __anonymous () {
29 machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER", True) or "").split()) 29 machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER", True) or "").split())
@@ -41,15 +41,25 @@ python __anonymous () {
41 if not package_arch: 41 if not package_arch:
42 raise bb.parse.SkipPackage("You must set MACHINE_SOCARCH as MACHINE_SOCARCH_FILTER is set for this SoC.") 42 raise bb.parse.SkipPackage("You must set MACHINE_SOCARCH as MACHINE_SOCARCH_FILTER is set for this SoC.")
43 43
44 machine_socarch_suffix = d.getVar("MACHINE_SOCARCH_SUFFIX", True)
45 if not machine_socarch_suffix:
46 raise bb.parse.SkipPackage("You must set MACHINE_SOCARCH_SUFFIX as MACHINE_SOCARCH_FILTER is set for this SoC.")
47
44 if package_arch: 48 if package_arch:
45 bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN)) 49 bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN))
46 d.setVar("PACKAGE_ARCH", package_arch) 50 d.setVar("PACKAGE_ARCH", package_arch)
51
52 cur_package_archs = (d.getVar("PACKAGE_ARCHS", True) or "").split()
53 arch_extra_socarch = (d.getVar("ARM_EXTRA_SOCARCH", True) or "")
54 thumb_extra_socarch = (d.getVar("THUMB_EXTRA_SOCARCH", True) or "")
55 if not arch_extra_socarch in cur_package_archs:
56 d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % arch_extra_socarch)
57
58 if not thumb_extra_socarch in cur_package_archs:
59 d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % thumb_extra_socarch)
47} 60}
48 61
49ARM_EXTRA_SOCARCH = "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}" 62ARM_EXTRA_SOCARCH = "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
50THUMB_EXTRA_SOCARCH = "${ARMPKGARCH}${ARM_THUMB_SUFFIX}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}" 63THUMB_EXTRA_SOCARCH = "${ARMPKGARCH}${ARM_THUMB_SUFFIX}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
51 64
52PACKAGE_EXTRA_ARCHS_append = " ${@bb.utils.contains('TUNE_FEATURES', 'arm', '${ARM_EXTRA_SOCARCH}', '', d) } \
53 ${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${THUMB_EXTRA_SOCARCH}', '', d) }"
54
55MACHINE_SOCARCH = "${@bb.utils.contains('ARM_INSTRUCTION_SET', 'thumb', '${THUMB_EXTRA_SOCARCH}', '${ARM_EXTRA_SOCARCH}', d)}" 65MACHINE_SOCARCH = "${@bb.utils.contains('ARM_INSTRUCTION_SET', 'thumb', '${THUMB_EXTRA_SOCARCH}', '${ARM_EXTRA_SOCARCH}', d)}"