| # 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_GCC_AT_LEAST_4_9 # C++11 PR56019 |
| 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++, gcc >= 4.9" |
| depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS |
| depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ |
| || !BR2_INSTALL_LIBSTDCPP \ |
| || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 |