From 51197a9c169c342a6d7840c0d687fa50ba52d83c Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 2 Apr 2015 16:57:57 -0300 Subject: 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 Signed-off-by: Otavio Salvador --- classes/fsl-dynamic-packagearch.bbclass | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'classes') 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 @@ # 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)}" -- cgit v1.2.3-54-g00ecf