From: Mingli Yu <[email protected]>

After pulseaudio upgrades from 13.0 to 14.0, it also switches from autotools
to meson. In autotools, there is --disable-neon-opt option for disabling NEON
optimizations, but there is no counterpart in meson.

And the meson build system adds -mfpu=neon at the end of the compiler command
line which overrids any earlier -mfpu options and result below build failure
on armv5:

| 
/prj/tmp-glibc/work/armv5e-wrs-linux-gnueabi/pulseaudio/14.0-r0/recipe-sysroot-native/usr/lib/arm-wrs-linux-gnueabi/gcc/arm-wrs-linux-gnueabi/10.2.0/include/arm_neon.h:31:2:
 error: #error "NEON intrinsics not available with the soft-float ABI.  Please 
use -mfloat-abi=softfp or -mfloat-abi=hard"
|  31 | #error "NEON intrinsics not available with the soft-float ABI.  Please 
use -mfloat-abi=softfp or -mfloat-abi=hard"
      |  ^~~~~
| ../pulseaudio-14.0/src/pulsecore/mix_neon.c: In function 
'pa_mix_ch2_s16ne_neon':
| ../pulseaudio-14.0/src/pulsecore/mix_neon.c:38:9: error: unknown type name 
'int32x4_t'; did you mean 'int32_t'?
|   38 |         int32x4_t sum0, sum1;

Define -mfloat-abi=softfp for CC on armv5 to fix the above issue.

Signed-off-by: Mingli Yu <[email protected]>
---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc 
b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index e40b8c1c40..761e4f74dc 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -123,6 +123,11 @@ PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false,"
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,"
 
 export TARGET_PFPU = "${TARGET_FPU}"
+# workaround build failure on qemuarmv5 as the neon optimizations is
+# enabled by default and no option to disable neon with meson build
+# system
+CC_append_armv5 = " -mfloat-abi=softfp"
+export CC
 
 set_cfg_value () {
        sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1"
-- 
2.26.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146369): 
https://lists.openembedded.org/g/openembedded-core/message/146369
Mute This Topic: https://lists.openembedded.org/mt/79443916/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to