diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2015-04-02 16:57:57 -0300 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2015-04-02 22:49:28 -0300 |
commit | 51197a9c169c342a6d7840c0d687fa50ba52d83c (patch) | |
tree | dd6919ac15daf5948fb456884ab4282e12cb8249 /classes/fsl-dynamic-packagearch.bbclass | |
parent | 685ad952bbbecd04cc2c475da5178d48d53327f5 (diff) | |
download | meta-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/fsl-dynamic-packagearch.bbclass')
-rw-r--r-- | classes/fsl-dynamic-packagearch.bbclass | 18 |
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 | ||
28 | python __anonymous () { | 28 | python __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 | ||
49 | ARM_EXTRA_SOCARCH = "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}" | 62 | ARM_EXTRA_SOCARCH = "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}" |
50 | THUMB_EXTRA_SOCARCH = "${ARMPKGARCH}${ARM_THUMB_SUFFIX}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}" | 63 | THUMB_EXTRA_SOCARCH = "${ARMPKGARCH}${ARM_THUMB_SUFFIX}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}" |
51 | 64 | ||
52 | PACKAGE_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 | |||
55 | MACHINE_SOCARCH = "${@bb.utils.contains('ARM_INSTRUCTION_SET', 'thumb', '${THUMB_EXTRA_SOCARCH}', '${ARM_EXTRA_SOCARCH}', d)}" | 65 | MACHINE_SOCARCH = "${@bb.utils.contains('ARM_INSTRUCTION_SET', 'thumb', '${THUMB_EXTRA_SOCARCH}', '${ARM_EXTRA_SOCARCH}', d)}" |