All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
@ 2019-04-24 19:00 Martin Jansa
  2019-04-25 21:14 ` Andreas Müller
  2019-04-26  5:20 ` Adrian Bunk
  0 siblings, 2 replies; 8+ messages in thread
From: Martin Jansa @ 2019-04-24 19:00 UTC (permalink / raw)
  To: openembedded-devel

* 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>
---
 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



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
  2019-04-24 19:00 [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python Martin Jansa
@ 2019-04-25 21:14 ` Andreas Müller
  2019-04-26  5:20 ` Adrian Bunk
  1 sibling, 0 replies; 8+ messages in thread
From: Andreas Müller @ 2019-04-25 21:14 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembeded-devel

On Wed, Apr 24, 2019 at 9:01 PM Martin Jansa <martin.jansa@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@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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
  2019-04-24 19:00 [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python Martin Jansa
  2019-04-25 21:14 ` Andreas Müller
@ 2019-04-26  5:20 ` Adrian Bunk
  2019-04-26 17:35   ` Khem Raj
  1 sibling, 1 reply; 8+ messages in thread
From: Adrian Bunk @ 2019-04-26  5:20 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-devel

On Wed, Apr 24, 2019 at 07:00:38PM +0000, Martin Jansa 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
>...

How does this handle Cortex A9 SoCs without NEON support?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
  2019-04-26  5:20 ` Adrian Bunk
@ 2019-04-26 17:35   ` Khem Raj
  2019-04-26 19:27     ` Martin Jansa
  0 siblings, 1 reply; 8+ messages in thread
From: Khem Raj @ 2019-04-26 17:35 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: openembeded-devel

On Thu, Apr 25, 2019 at 10:21 PM Adrian Bunk <bunk@stusta.de> wrote:
>
> On Wed, Apr 24, 2019 at 07:00:38PM +0000, Martin Jansa 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
> >...
>
> How does this handle Cortex A9 SoCs without NEON support?

this is a valid concern although rare but this combination is out
there ( tegra2 )
and ne10 needs neon, so probably its better to check for neon in tune features
 than anything else first.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
  2019-04-26 17:35   ` Khem Raj
@ 2019-04-26 19:27     ` Martin Jansa
  2019-04-26 20:34       ` Andreas Müller
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Jansa @ 2019-04-26 19:27 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel, Adrian Bunk

I'm not using ne10 or libopus anywhere, it was just breaking
sstate-diff-machines.sh script by adding that unjustifiable dependency
based on TUNE_FEATURES.

I was going to send v2 with the armv7ve entries as requested by Andreas (I
forgot that armv7ve tunes no longer include armv7a in overrides), but if
someone wants to rework it to test for neon in TUNE_FEATURES feel free to
do so.

It didn't check for neon before, so at least this change didn't make it
worse.

On Fri, Apr 26, 2019 at 7:35 PM Khem Raj <raj.khem@gmail.com> wrote:

> On Thu, Apr 25, 2019 at 10:21 PM Adrian Bunk <bunk@stusta.de> wrote:
> >
> > On Wed, Apr 24, 2019 at 07:00:38PM +0000, Martin Jansa 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
> > >...
> >
> > How does this handle Cortex A9 SoCs without NEON support?
>
> this is a valid concern although rare but this combination is out
> there ( tegra2 )
> and ne10 needs neon, so probably its better to check for neon in tune
> features
>  than anything else first.
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
  2019-04-26 19:27     ` Martin Jansa
@ 2019-04-26 20:34       ` Andreas Müller
  2019-05-22 22:16         ` Andre McCurdy
  0 siblings, 1 reply; 8+ messages in thread
From: Andreas Müller @ 2019-04-26 20:34 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Adrian Bunk, openembeded-devel

On Fri, Apr 26, 2019 at 9:27 PM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> I'm not using ne10 or libopus anywhere, it was just breaking
> sstate-diff-machines.sh script by adding that unjustifiable dependency
> based on TUNE_FEATURES.
>
> I was going to send v2 with the armv7ve entries as requested by Andreas (I
> forgot that armv7ve tunes no longer include armv7a in overrides), but if
> someone wants to rework it to test for neon in TUNE_FEATURES feel free to
> do so.
>
> It didn't check for neon before, so at least this change didn't make it
> worse.
Yeah - you fix something you are not interested in and people (either
not using it) open up wishlists..

Thanks (and sorry :)

Andreas


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
  2019-04-26 20:34       ` Andreas Müller
@ 2019-05-22 22:16         ` Andre McCurdy
  2019-05-22 23:28           ` [meta-oe][PATCH] ne10, libopus: add armv7ve override as well Martin Jansa
  0 siblings, 1 reply; 8+ messages in thread
From: Andre McCurdy @ 2019-05-22 22:16 UTC (permalink / raw)
  To: Andreas Müller; +Cc: openembeded-devel, Adrian Bunk

On Fri, Apr 26, 2019 at 1:34 PM Andreas Müller <schnitzeltony@gmail.com> wrote:
>
> On Fri, Apr 26, 2019 at 9:27 PM Martin Jansa <martin.jansa@gmail.com> wrote:
> >
> > I'm not using ne10 or libopus anywhere, it was just breaking
> > sstate-diff-machines.sh script by adding that unjustifiable dependency
> > based on TUNE_FEATURES.
> >
> > I was going to send v2 with the armv7ve entries as requested by Andreas (I
> > forgot that armv7ve tunes no longer include armv7a in overrides), but if
> > someone wants to rework it to test for neon in TUNE_FEATURES feel free to
> > do so.
> >
> > It didn't check for neon before, so at least this change didn't make it
> > worse.
> Yeah - you fix something you are not interested in and people (either
> not using it) open up wishlists..

This got merged and backported to warrior without the _armv7ve
over-ride, so Cortex-A15 etc targets are going to see some regression.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [meta-oe][PATCH] ne10, libopus: add armv7ve override as well
  2019-05-22 22:16         ` Andre McCurdy
@ 2019-05-22 23:28           ` Martin Jansa
  0 siblings, 0 replies; 8+ messages in thread
From: Martin Jansa @ 2019-05-22 23:28 UTC (permalink / raw)
  To: openembedded-devel

* fix the override in packagegroup-meta-oe.bb
* alllow building ne10 for armv7ve (e.g. Cortex-A15)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb | 3 ++-
 meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb        | 3 ++-
 meta-oe/recipes-support/ne10/ne10_1.2.1.bb                 | 4 +++-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 5fcf9899b6..af3e848124 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -220,7 +220,8 @@ RDEPENDS_packagegroup-meta-oe-shells ="\
 
 NE10 = ""
 NE10_aarch64 = "ne10"
-NE10_arm7 = "ne10"
+NE10_armv7a = "ne10"
+NE10_armv7ve = "ne10"
 
 RDEPENDS_packagegroup-meta-oe-support ="\
     anthy asio atop augeas avro-c bdwgc frame grail \
diff --git a/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb b/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
index 50d49370ba..fb9bdc70fa 100644
--- a/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
+++ b/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
@@ -28,9 +28,10 @@ EXTRA_OECONF = " \
     --enable-custom-modes \
 "
 
-# ne10 is available only for armv7a and aarch64
+# ne10 is available only for armv7a, armv7ve and aarch64
 DEPENDS_append_aarch64 = " ne10"
 DEPENDS_append_armv7a = " ne10"
+DEPENDS_append_armv7ve = " ne10"
 
 python () {
     if d.getVar('TARGET_FPU') in [ 'soft' ]:
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 4e8986de18..f37ccde1cb 100644
--- a/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -15,13 +15,15 @@ PV .= "gitr+${SRCPV}"
 
 inherit cmake
 
-# Incompatible with archs other than armv7 and aarch64
+# Incompatible with archs other than armv7, armv7ve and aarch64
 COMPATIBLE_MACHINE = "(^$)"
 COMPATIBLE_MACHINE_aarch64 = "(.*)"
 COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_armv7ve = "(.*)"
 NE10_TARGET_ARCH = ""
 NE10_TARGET_ARCH_aarch64 = "aarch64"
 NE10_TARGET_ARCH_armv7a = "armv7"
+NE10_TARGET_ARCH_armv7ve = "armv7"
 
 EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-05-22 23:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-24 19:00 [meta-oe][PATCH] ne10: set NE10_TARGET_ARCH with an override instead of anonymous python Martin Jansa
2019-04-25 21:14 ` Andreas Müller
2019-04-26  5:20 ` Adrian Bunk
2019-04-26 17:35   ` Khem Raj
2019-04-26 19:27     ` Martin Jansa
2019-04-26 20:34       ` Andreas Müller
2019-05-22 22:16         ` Andre McCurdy
2019-05-22 23:28           ` [meta-oe][PATCH] ne10, libopus: add armv7ve override as well Martin Jansa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.