ne10: set NE10_TARGET_ARCH with an override instead of anonymous python

* 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@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Martin Jansa 2019-04-24 19:00:38 +00:00 committed by Khem Raj
parent 67b5700da7
commit 09a124785f

View File

@ -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}