Message ID | 1377205292-25021-1-git-send-email-thomas.petazzoni@free-electrons.com |
---|---|
State | Accepted |
Headers | show |
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> The NEON intrinsics used by Pulseaudio are only available in either
Thomas> -mfloat-abi=softfp or -mfloat-abi=hard, not in
Thomas> -mfloat-abi=soft. Therefore having NEON support in the processor is
Thomas> not sufficient, we also should *not* be using soft-float.
Thomas> Moreover, looking at BR2_ARM_ENABLE_NEON to know if the processor has
Thomas> NEON support is incorrect. This option is only here to allow the user
Thomas> to tell whether the processor has NEON support or not, for the ARM
Thomas> cores that only have optional NEON support. Instead, the
Thomas> BR2_ARM_CPU_HAS_NEON option really indicates whether NEON is available
Thomas> or not (it is either set automatically by the ARM cores that always
Thomas> have NEON support, or when BR2_ARM_ENABLE_NEON is enabled by the user
Thomas> to confirm that his ARM processor has NEON support).
Thomas> This fixes build failures such as
Thomas> http://autobuild.buildroot.org/results/675/675c96059be348b594cc92980bef391126931c83/build-end.log
Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Committed, thanks.
diff --git a/package/multimedia/pulseaudio/pulseaudio.mk b/package/multimedia/pulseaudio/pulseaudio.mk index 910e4a7..ad28ca6 100644 --- a/package/multimedia/pulseaudio/pulseaudio.mk +++ b/package/multimedia/pulseaudio/pulseaudio.mk @@ -55,7 +55,18 @@ endef PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FORCE_CC endif -PULSEAUDIO_CONF_OPT += $(if $(BR2_ARM_ENABLE_NEON),--enable-neon-opt=yes,--enable-neon-opt=no) +ifeq ($(BR2_ARM_SOFT_FLOAT),) +ifeq ($(BR2_ARM_CPU_HAS_NEON),y) +PULSEAUDIO_USE_NEON = y +endif +endif + +ifeq ($(PULSEAUDIO_USE_NEON),y) +PULSEAUDIO_CONF_OPT += --enable-neon-opt=yes +else +PULSEAUDIO_CONF_OPT += --enable-neon-opt=no +endif + # pulseaudio alsa backend needs pcm/mixer apis ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy) PULSEAUDIO_CONF_OPT += --disable-alsa
The NEON intrinsics used by Pulseaudio are only available in either -mfloat-abi=softfp or -mfloat-abi=hard, not in -mfloat-abi=soft. Therefore having NEON support in the processor is not sufficient, we also should *not* be using soft-float. Moreover, looking at BR2_ARM_ENABLE_NEON to know if the processor has NEON support is incorrect. This option is only here to allow the user to tell whether the processor has NEON support or not, for the ARM cores that only have optional NEON support. Instead, the BR2_ARM_CPU_HAS_NEON option really indicates whether NEON is available or not (it is either set automatically by the ARM cores that always have NEON support, or when BR2_ARM_ENABLE_NEON is enabled by the user to confirm that his ARM processor has NEON support). This fixes build failures such as http://autobuild.buildroot.org/results/675/675c96059be348b594cc92980bef391126931c83/build-end.log Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/multimedia/pulseaudio/pulseaudio.mk | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)