[oe] [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
Andreas Müller
schnitzeltony at gmail.com
Thu Apr 25 21:14:02 UTC 2019
On Wed, Apr 24, 2019 at 9:01 PM Martin Jansa <martin.jansa at gmail.com> wrote:
>
> * 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
>
Have stolen the idea of this patch for another recipe. I think
cortexa7 (raspi) needs COMPATIBLE_MACHINE_armv7ve and
NE10_TARGET_ARCH_armv7ve entries. I know they were not handled before
but... - or do I miss something
Andreas
More information about the Openembedded-devel
mailing list