@@ -4,12 +4,20 @@ config BR2_PACKAGE_ALSA_LIB
# https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4913
# is fixed
select BR2_PACKAGE_ALSA_LIB_PCM
+ # Even though some parts of alsa-lib use threads only when
+ # available, some PCM plugins use them unconditionally. Since
+ # the usage of alsa-lib on no-thread systems is pretty
+ # unlikely, just require thread support globally for alsa-lib.
+ depends on BR2_TOOLCHAIN_HAS_THREADS
help
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
functionality to the Linux operating system.
http://www.alsa-project.org/
+comment "alsa-lib needs threads support in toolchain"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
if BR2_PACKAGE_ALSA_LIB
config BR2_PACKAGE_ALSA_LIB_PYTHON
@@ -1,7 +1,7 @@
config BR2_PACKAGE_BLUEZ_UTILS
bool "bluez-utils"
depends on BR2_USE_WCHAR # libglib2
- depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
+ depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, alsa-lib
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_LIBGLIB2
help
@@ -1,6 +1,7 @@
config BR2_PACKAGE_ALSA_UTILS
bool "alsa-utils"
depends on BR2_LARGEFILE
+ depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
select BR2_PACKAGE_ALSA_LIB
help
This package contains the command line utilities for the ALSA
@@ -8,8 +9,8 @@ config BR2_PACKAGE_ALSA_UTILS
http://www.alsa-project.org/
-comment "alsa-utils requires a toolchain with LARGEFILE support"
- depends on !BR2_LARGEFILE
+comment "alsa-utils requires a toolchain with LARGEFILE and threads support"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
if BR2_PACKAGE_ALSA_UTILS
menu "ALSA utils selection"
@@ -21,6 +21,7 @@ config BR2_PACKAGE_MPD_ALSA
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_ALSA_LIB_PCM
select BR2_PACKAGE_ALSA_LIB_MIXER
+ depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
help
Enable alsa output support.
@@ -11,6 +11,7 @@ if BR2_PACKAGE_PORTAUDIO
config BR2_PACKAGE_PORTAUDIO_ALSA
bool "alsa support"
select BR2_PACKAGE_ALSA_LIB
+ depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
default y
help
Compile with ALSA support.
@@ -315,6 +315,7 @@ config BR2_PACKAGE_QT_AUDIO_BACKEND
bool "QtMultimedia Audio backend"
depends on BR2_PACKAGE_QT_MULTIMEDIA
select BR2_PACKAGE_ALSA_LIB
+ depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
help
Build the ALSA audio backend into QtMultimedia
Some parts of alsa-lib correctly use threads only when available, but some other parts, especially certain PCM plugins, unconditionally require threads. While it would certainly be possible to fix alsa-lib to only use threads when available, it probably doesn't make much sense, since on an embedded system that has audio, we are probably powerful enough to enable thread support in the C library. Fixes: http://autobuild.buildroot.org/results/e14469be7f6171f4c8c0c09c8e32943819f7938b/build-end.log Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/alsa-lib/Config.in | 8 ++++++++ package/bluez_utils/Config.in | 2 +- package/multimedia/alsa-utils/Config.in | 5 +++-- package/multimedia/mpd/Config.in | 1 + package/portaudio/Config.in | 1 + package/qt/Config.in | 1 + 6 files changed, 15 insertions(+), 3 deletions(-)