> It's difficult (impossible?) to automatically detect whether an ARM target
> supports
> NEON at build time, so this looks unlikely to work.
> Testing for NEON either needs to happen at run time or the information needs
> to
> be passed from the build system as an explicit configure option (ie the
> original
> approach here).
>
> If you don't want to pass NEON options to 64bit ARM targets then add an
> over-ride which only applies to 32bit ARM targets.
>
> Or in this case, if the configure script is wrong to try to enable NEON for
> 64bit ARM
> targets, patch the configure script and submit the patch upstream.
I got it.
In fact, I submitted this patch because I met a conflict error when I enable
multilib on aarch64. The conflict reason is that my lib32-libpng enabled NEON
but libpng(64bit) didn't enable NEON although NEON is enabled for all aarch64
by default.
But it looks like it is not a good way to added "
--enable-hardware-optimizations=on " for all target.
So how about to update my patch to V2 as the following:
-EXTRA_OECONF:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES",
"neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}"
+EXTRA_OECONF:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES",
"neon", "--enable-arm-neon=on", " ", d)}"
+EXTRA_OECONF:append:aarch64 = " --enable-hardware-optimizations=on "
Best regards
Lei
> -----Original Message-----
> From: Andre McCurdy <[email protected]>
> Sent: Wednesday, December 14, 2022 5:49 AM
> To: Lei, Maohui <[email protected]>
> Cc: [email protected]
> Subject: Re: [oe-core][PATCH] libpng: Added "--enable-hardware-optimizations"
> instead of "--enable-arm-neon". Because "--enable-arm-neon" only works for
> armv7, but doesn't work for aarch64. But in fact neon is also enabled for
> aarch64
> by default.
>
> On Mon, Dec 12, 2022 at 6:38 PM leimaohui <[email protected]> wrote:
> >
> > Reference to libpng-1.6.38/configure,if enable_hardware_optimizations
> > is enabled, libpng can judge whether enable enable_arm_neon according
> > to $host_cpu.
> > ----------------------------------------
> > $ cat libpng-1.6.38/configure
> > ......
> > if test ${enable_hardware_optimizations+y}
> > then :
> > ......
> > # allow enabling hardware optimization on any system:
> > case "$host_cpu" in
> > arm*|aarch64*)
> > enable_arm_neon=yes
> >
> > printf "%s\n" "#define PNG_ARM_NEON_OPT 2" >>confdefs.h ......
> > ----------------------------------------
> >
> > Signed-off-by: Lei Maohui <[email protected]>
> > ---
> > meta/recipes-multimedia/libpng/libpng_1.6.38.bb | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.38.bb
> > b/meta/recipes-multimedia/libpng/libpng_1.6.38.bb
> > index dc627203ef..7da71d9d3b 100644
> > --- a/meta/recipes-multimedia/libpng/libpng_1.6.38.bb
> > +++ b/meta/recipes-multimedia/libpng/libpng_1.6.38.bb
> > @@ -22,7 +22,7 @@ BINCONFIG = "${bindir}/libpng-config
> ${bindir}/libpng16-config"
> > inherit autotools binconfig-disabled pkgconfig
> >
> > # Work around missing symbols
> > -EXTRA_OECONF:append:class-target = "
> ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on",
> "--enable-arm-neon=off", d)}"
> > +EXTRA_OECONF:append:class-target = " --enable-hardware-optimizations=on "
>
> It's difficult (impossible?) to automatically detect whether an ARM target
> supports
> NEON at build time, so this looks unlikely to work.
> Testing for NEON either needs to happen at run time or the information needs
> to
> be passed from the build system as an explicit configure option (ie the
> original
> approach here).
>
> If you don't want to pass NEON options to 64bit ARM targets then add an
> over-ride which only applies to 32bit ARM targets.
>
> Or in this case, if the configure script is wrong to try to enable NEON for
> 64bit ARM
> targets, patch the configure script and submit the patch upstream.
>
> > PACKAGES =+ "${PN}-tools"
> >
> > --
> > 2.25.1
> >
> >
> >
> >
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#174560):
https://lists.openembedded.org/g/openembedded-core/message/174560
Mute This Topic: https://lists.openembedded.org/mt/95637494/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-