Move buildroot to bsp directory.

This commit is contained in:
2016-11-16 22:05:33 +01:00
parent 317c040ea8
commit 807ab03547
7408 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
From 10fee6d71a1f7d6e6319005196562b4a30b4e8ff Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Tue, 2 Feb 2016 14:58:52 +0100
Subject: [PATCH] Fix detection of C11 atomics
Currently, the CMakeLists.txt logic to detect the availability of C11
atomics is based on building a small program that uses the
atomic_load().
However, atomic_load() does not need to use any function from
libatomic (part of the gcc runtime). So even if libatomic is missing,
this test concludes that C11 atomic support is available. For example
on SPARC, the example program builds fine without linking to
libatomic, but calling other functions of the atomic_*() APIs fail
without linking to libatomic.
So, this patch adjusts the CMakeLists.txt test to use a function that
is known to require the libatomic run-time library (on architectures
where it is needed). This way, openal will only use the __atomic_*()
built-ins when they are actually functional.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
CMakeLists.txt | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5784d35..a53f996 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -209,14 +209,17 @@ CHECK_C_SOURCE_COMPILES(
HAVE_C11_ALIGNAS)
# Check if we have C11 _Atomic
+set(OLD_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+set(CMAKE_REQUIRED_LIBRARIES ${EXTRA_LIBS})
CHECK_C_SOURCE_COMPILES(
"#include <stdatomic.h>
- const int _Atomic foo = ATOMIC_VAR_INIT(~0);
+ int _Atomic foo = ATOMIC_VAR_INIT(~0);
int main()
{
- return atomic_load(&foo);
+ return atomic_fetch_add(&foo, 2);
}"
HAVE_C11_ATOMIC)
+set(CMAKE_REQUIRED_LIBRARIES ${OLD_REQUIRED_LIBRARIES})
# Add definitions, compiler switches, etc.
INCLUDE_DIRECTORIES("${OpenAL_SOURCE_DIR}/include" "${OpenAL_BINARY_DIR}")
--
2.6.4

View File

@@ -0,0 +1,32 @@
# 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

View File

@@ -0,0 +1,2 @@
# Locally calculated
sha256 a341f8542f1f0b8c65241a17da13d073f18ec06658e1a1606a8ecc8bbc2b3314 openal-soft-1.17.2.tar.bz2

View File

@@ -0,0 +1,53 @@
################################################################################
#
# openal
#
################################################################################
OPENAL_VERSION = 1.17.2
OPENAL_SOURCE = openal-soft-$(OPENAL_VERSION).tar.bz2
OPENAL_SITE = http://kcat.strangesoft.net/openal-releases
OPENAL_LICENSE = LGPLv2+
OPENAL_LICENSE_FILES = COPYING
OPENAL_INSTALL_STAGING = YES
# We don't need the utilities, Distros don't ship them either
OPENAL_CONF_OPTS += -DALSOFT_UTILS=OFF
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_8),y)
OPENAL_CONF_OPTS += -DEXTRA_LIBS=atomic
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
OPENAL_DEPENDENCIES += alsa-lib
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_ALSA=ON
else
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_ALSA=OFF
endif
ifeq ($(BR2_PACKAGE_JACK2),y)
OPENAL_DEPENDENCIES += jack2
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_JACK=ON
else
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_JACK=OFF
endif
ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
OPENAL_DEPENDENCIES += portaudio
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_PORTAUDIO=ON
else
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_PORTAUDIO=OFF
endif
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
OPENAL_DEPENDENCIES += pulseaudio
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_PULSEAUDIO=ON
else
OPENAL_CONF_OPTS += -DALSOFT_REQUIRE_PULSEAUDIO=OFF
endif
ifeq ($(BR2_STATIC_LIBS),y)
OPENAL_CONF_OPTS += -DLIBTYPE=STATIC
endif
$(eval $(cmake-package))