summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-support/tbb
diff options
context:
space:
mode:
authorDave Cobbley <david.j.cobbley@linux.intel.com>2018-08-14 20:05:37 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-08-23 04:26:31 +0300
commiteb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch)
treede291a73dc37168da6370e2cf16c347d1eba9df8 /meta-openembedded/meta-oe/recipes-support/tbb
parent9c3cf826d853102535ead04cebc2d6023eff3032 (diff)
downloadopenbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/tbb')
-rw-r--r--meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb44
-rw-r--r--meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc11
4 files changed, 131 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
new file mode 100644
index 0000000000..bad9481f7d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "Parallelism library for C++ - runtime files \
+ TBB is a library that helps you leverage multi-core processor \
+ performance without having to be a threading expert. It represents a \
+ higher-level, task-based parallelism that abstracts platform details \
+ and threading mechanism for performance and scalability."
+HOMEPAGE = "http://threadingbuildingblocks.org/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+PRDATE = "20170412"
+BRANCH = "tbb_2017"
+SRCREV = "a2cfdfe946933cbe38bffe1d8086ae36f06691a3"
+PV = "${PRDATE}+${SRCPV}"
+SRC_URI = "git://github.com/01org/tbb;branch=${BRANCH} \
+ file://cross-compile.patch \
+ file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
+ file://tbb.pc \
+"
+
+S = "${WORKDIR}/git"
+
+COMPILER ?= "gcc"
+COMPILER_toolchain-clang = "clang"
+
+do_compile() {
+ oe_runmake compiler=${COMPILER} arch=${HOST_ARCH} runtime=cc4
+}
+
+do_install() {
+ install -d ${D}${includedir} ${D}${libdir}/pkgconfig
+ rm ${S}/include/tbb/index.html -f
+ cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir}
+ install -m 0755 ${B}/build/linux_*_release/lib*.so* ${D}${libdir}
+ install -m 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig
+}
+
+# fails with thumb enabled:
+# | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
+# | {standard input}: Assembler messages:
+# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]'
+# ...
+# | make[1]: *** [concurrent_queue.o] Error 1
+ARM_INSTRUCTION_SET = "arm"
+SECURITY_CFLAGS_append = " -fPIC"
+
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
new file mode 100644
index 0000000000..7e66945fa2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
@@ -0,0 +1,37 @@
+From 6b2b136caa68912d77ffe26143cd3da768b9ef80 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Jun 2017 08:39:37 -0700
+Subject: [PATCH] mallinfo() is glibc specific API mark it so
+
+Helps compiling with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/tbbmalloc/proxy.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
+index 5ef279d..06c4872 100644
+--- a/src/tbbmalloc/proxy.cpp
++++ b/src/tbbmalloc/proxy.cpp
+@@ -185,6 +185,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW
+ return 1;
+ }
+
++#ifdef __GLIBC__
+ struct mallinfo mallinfo() __THROW
+ {
+ struct mallinfo m;
+@@ -192,6 +193,7 @@ struct mallinfo mallinfo() __THROW
+
+ return m;
+ }
++#endif
+
+ #if __ANDROID__
+ // Android doesn't have malloc_usable_size, provide it to be compatible
+--
+2.13.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
new file mode 100644
index 0000000000..d54b307ee9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
@@ -0,0 +1,39 @@
+Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
+
+Upstream-Status: unsuitable
+---
+ build/linux.gcc.inc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+Index: tbb2017_20170118oss/build/linux.gcc.inc
+===================================================================
+--- tbb2017_20170118oss.orig/build/linux.gcc.inc
++++ tbb2017_20170118oss/build/linux.gcc.inc
+@@ -32,8 +32,9 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS = $(CXX)
++CONLY = $(CC)
++CPLUS_FLAGS = $(CXXFLAGS)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+Index: tbb2017_20170118oss/build/linux.clang.inc
+===================================================================
+--- tbb2017_20170118oss.orig/build/linux.clang.inc
++++ tbb2017_20170118oss/build/linux.clang.inc
+@@ -31,8 +31,9 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = clang++
+-CONLY = clang
++CPLUS = $(CXX)
++CONLY = $(CC)
++CPLUS_FLAGS = $(CXXFLAGS)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
new file mode 100644
index 0000000000..644b64fbf4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: Threading Building Blocks
+Description: Intel's parallelism library for C++
+URL: http://www.threadingbuildingblocks.org/
+Version: 3.0+r018
+Libs: -L${libdir} -ltbb
+Cflags: -I${includedir}