buildroot/package/openal/Config.in
Thomas Petazzoni bad657ddfc openal: fix atomic handling
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>
2016-02-06 11:16:00 +01:00

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