![Thomas Petazzoni](/assets/img/avatar_default.png)
openal can uses __atomic_*() intrinsics when available, or fall-back on __sync_*() built-ins. This commit adjusts the package to take into account for those dependencies, and makes sure we link against libatomic when gcc >= 4.8 so that the __atomic_*() intrinsics can be used on all architectures. Fixes: http://autobuild.buildroot.org/results/314fb8da3ca87984e9240d67ff233e2f999ae89e/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
33 lines
1.3 KiB
Plaintext
33 lines
1.3 KiB
Plaintext
# openal can:
|
|
# - use __atomic_*() intrinsics when available
|
|
# - otherwise use __sync_*() intrinsics when available. It needs the
|
|
# 4-byte ones on 32 bits architectures, and the 4-byte and 8-byte
|
|
# one on 64 bits architecture
|
|
# - it also provides its one implementation of atomic operations on
|
|
# x86 and x86_64, but we dont take those into account since in most
|
|
# situations __atomic_*() or __sync_*() will be available, and not
|
|
# all x86 CPUs provide the necessary assembly instructions.
|
|
config BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_TOOLCHAIN_HAS_ATOMIC
|
|
default y if BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_ARCH_IS_64
|
|
default y if BR2_TOOLCHAIN_HAS_SYNC_4 && BR2_TOOLCHAIN_HAS_SYNC_8 && BR2_ARCH_IS_64
|
|
|
|
config BR2_PACKAGE_OPENAL
|
|
bool "openal"
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
|
|
help
|
|
OpenAL provides capabilities for playing audio in a virtual
|
|
3D environment. Distance attenuation, doppler shift, and
|
|
directional sound emitters are among the features handled by
|
|
the API.
|
|
|
|
http://kcat.strangesoft.net/openal.html
|
|
|
|
comment "openal needs a toolchain w/ NPTL, C++"
|
|
depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
|
|
|| !BR2_INSTALL_LIBSTDCPP
|