diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2016-08-06 12:02:44 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2016-08-09 15:48:30 +0200 |
commit | 3695759b91c548453107bfa9524149dba69f170f (patch) | |
tree | ed3bec3e8e006a370a1af6aef83c75814d099332 /package/webrtc-audio-processing/Config.in | |
parent | fe7babeeb0a2be4a29bfbae275e0dd8fe972c711 (diff) | |
download | buildroot-3695759b91c548453107bfa9524149dba69f170f.tar.gz buildroot-3695759b91c548453107bfa9524149dba69f170f.zip |
webrtc-audio-processing: fix build on ARM Cortex-M
The webrtc-audio-processing configure script assumes that if the
host_cpu part of the tuple is "arm", then ARM instructions are
available. This is obviously incorrect for ARM Cortex-M platforms, which
only support the Thumb-2 instruction set.
In order to address this, we add a patch,
0001-configure.ac-fix-architecture-detection.patch, which changes how
webrtc-audio-processing detects the architecture: instead of relying on
the host_cpu part of the tuple, it relies on the built-in definitions of
the compiler.
Not only it fixes the Cortex-M detection, but it also enables ARMv7
optimizations on ARMv7-A: until now they were only enabled when the
host_cpu part of the tuple was armv7, which is never the case in
Buildroot.
However, once this issue is fixed for Cortex-M, the build nonetheless
fails later due to the usage of NPTL-only functions. So we change the
thread dependency to a NPTL dependency.
Fixes:
http://autobuild.buildroot.net/results/4933082cd7cc5781404c77ccef5c2b9333c5f714/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/webrtc-audio-processing/Config.in')
-rw-r--r-- | package/webrtc-audio-processing/Config.in | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/package/webrtc-audio-processing/Config.in b/package/webrtc-audio-processing/Config.in index 7c69903555..79a06d8b3f 100644 --- a/package/webrtc-audio-processing/Config.in +++ b/package/webrtc-audio-processing/Config.in @@ -3,14 +3,15 @@ config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING depends on BR2_arm || BR2_i386 || BR2_x86_64 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - depends on BR2_TOOLCHAIN_HAS_THREADS + # pthread_condattr_setclock + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL help AudioProcessing library based on Google's implementation of WebRTC. http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/ -comment "webrtc-audio-processing needs a toolchain w/ C++, threads, gcc >= 4.8" +comment "webrtc-audio-processing needs a toolchain w/ C++, NPTL, gcc >= 4.8" depends on BR2_arm || BR2_i386 || BR2_x86_64 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 |