[oe] [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python

Martin Jansa martin.jansa at gmail.com
Wed Apr 24 19:00:38 UTC 2019


* set COMPATIBLE_MACHINE to (^$) to prevent building it for any other
  architectures than armv7a and aarch64
* with new arm tune files it's easy to have armv7a in OVERRIDES even
  when there isn't armv7a in TUNE_FEATURES:
  meta/conf/machine/include/tune-cortexa9.inc:7
     "${@bb.utils.contains('TUNE_FEATURES', 'cortexa9', 'armv7a:', '',d)}"
  in cases like this COMPATIBLE_MACHINE was satisfied thanks to the
  armv7a OVERRIDE, but then the anonymous python was failing with:
  ne10 was skipped: Incompatible with archs other than armv7 and aarch64

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 meta-oe/recipes-support/ne10/ne10_1.2.1.bb | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index 3afdff7786..4e8986de18 100644
--- a/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -15,22 +15,15 @@ PV .= "gitr+${SRCPV}"
 
 inherit cmake
 
-NE10_TARGET_ARCH = ""
-EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
-
+# Incompatible with archs other than armv7 and aarch64
+COMPATIBLE_MACHINE = "(^$)"
 COMPATIBLE_MACHINE_aarch64 = "(.*)"
 COMPATIBLE_MACHINE_armv7a = "(.*)"
+NE10_TARGET_ARCH = ""
+NE10_TARGET_ARCH_aarch64 = "aarch64"
+NE10_TARGET_ARCH_armv7a = "armv7"
 
-python () {
-    if any(t.startswith('armv7') for t in d.getVar('TUNE_FEATURES').split()):
-        d.setVar('NE10_TARGET_ARCH', 'armv7')
-        bb.debug(2, 'Building Ne10 for armv7')
-    elif any(t.startswith('aarch64') for t in d.getVar('TUNE_FEATURES').split()):
-        d.setVar('NE10_TARGET_ARCH', 'aarch64')
-        bb.debug(2, 'Building Ne10 for aarch64')
-    else:
-        raise bb.parse.SkipRecipe("Incompatible with archs other than armv7 and aarch64")
-}
+EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
 
 do_install() {
     install -d ${D}${libdir}
-- 
2.17.1



More information about the Openembedded-devel mailing list