[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