diff options
author | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
---|---|---|
committer | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
commit | 1c7d6584a7811b7785ae5c1e378f14b5ba0971cf (patch) | |
tree | cd70a267a5ef105ba32f200aa088e281fbd85747 /external/meta-openembedded/meta-oe/recipes-support/tbb | |
parent | 4204309872da5cb401cbb2729d9e2d4869a87f42 (diff) |
basesystem-jjsandbox/ToshikazuOhiwa/master-jj
recipes
Diffstat (limited to 'external/meta-openembedded/meta-oe/recipes-support/tbb')
-rw-r--r-- | external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch | 57 | ||||
-rw-r--r-- | external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch | 42 | ||||
-rw-r--r-- | external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch | 62 | ||||
-rw-r--r-- | external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc | 4 | ||||
-rw-r--r-- | external/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.2.bb (renamed from external/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb) | 26 |
5 files changed, 86 insertions, 105 deletions
diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch deleted file mode 100644 index 9824b61e..00000000 --- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch +++ /dev/null @@ -1,57 +0,0 @@ -From aee098f1bf0511c6b5544de3170a9e8b51673b60 Mon Sep 17 00:00:00 2001 -From: Pierre Le Magourou <plemagourou@softbankrobotics.com> -Date: Tue, 23 Jan 2018 15:25:50 +0100 -Subject: [PATCH] linux.gcc: Fix cross compilation error. - -When cross compiling on linux with gcc, the host gcc was used instead of -the cross gcc to set compilation flags according to gcc version. - -When the cross gcc was in version 5.X and the host gcc in version 7.X, -tbb was compiled with the -flifetime-dse=1 flag that does not exist on -gcc 5.X. ---- - build/linux.gcc.inc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc -index 5c1889c..a4d6698 100644 ---- a/build/linux.gcc.inc -+++ b/build/linux.gcc.inc -@@ -41,29 +41,29 @@ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic - C_FLAGS = $(CPLUS_FLAGS) - - # gcc 4.2 and higher support OpenMP --ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])")) -+ifneq (,$(shell $(CC) -dumpversion | egrep "^(4\.[2-9]|[5-9])")) - OPENMP_FLAG = -fopenmp - endif - - # gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them --ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[8-9]|[5-9])")) -+ifneq (,$(shell $(CC) -dumpversion | egrep "^(4\.[8-9]|[5-9])")) - RTM_KEY = -mrtm - endif - - # gcc 4.0 and later have -Wextra that is used by some our customers. --ifneq (,$(shell gcc -dumpversion | egrep "^([4-9])")) -+ifneq (,$(shell $(CC) -dumpversion | egrep "^([4-9])")) - TEST_WARNING_KEY += -Wextra - endif - - # gcc 5.0 and later have -Wsuggest-override option - # enable it via a pre-included header in order to limit to C++11 and above --ifneq (,$(shell gcc -dumpversion | egrep "^([5-9])")) -+ifneq (,$(shell $(CC) -dumpversion | egrep "^([5-9])")) - INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h - endif - - # gcc 6.0 and later have -flifetime-dse option that controls - # elimination of stores done outside the object lifetime --ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) -+ifneq (,$(shell $(CC) -dumpversion | egrep "^([6-9])")) - # keep pre-contruction stores for zero initialization - DSE_KEY = -flifetime-dse=1 - endif --- -2.15.1 - diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch new file mode 100644 index 00000000..6f28f6f3 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch @@ -0,0 +1,42 @@ +From 27956d4c5fb615098231cebfb8eef11057639d3c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine <fontaine.fabrice@gmail.com> +Date: Sun, 8 Dec 2019 18:14:38 +0100 +Subject: [PATCH] src/tbbmalloc/proxy.cpp: __GLIBC_PREREQ is not defined on + musl + +Do not call __GLIBC_PREREQ if it is not defined otherwise build will +fail on musl + +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> + +Upstream-Status: Submitted [https://github.com/oneapi-src/oneTBB/pull/203] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + src/tbbmalloc/proxy.cpp | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp +index d96ae7a0..709ae839 100644 +--- a/src/tbbmalloc/proxy.cpp ++++ b/src/tbbmalloc/proxy.cpp +@@ -24,7 +24,8 @@ + // of aligned_alloc as required by new C++ standard, this makes it hard to + // redefine aligned_alloc here. However, running on systems with new libc + // version, it still needs it to be redefined, thus tricking system headers +-#if defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC ++#if defined(__GLIBC_PREREQ) ++#if !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC + // tell <cstdlib> that there is no aligned_alloc + #undef _GLIBCXX_HAVE_ALIGNED_ALLOC + // trick <stdlib.h> to define another symbol instead +@@ -32,7 +33,8 @@ + // Fix the state and undefine the trick + #include <cstdlib> + #undef aligned_alloc +-#endif // defined(__GLIBC_PREREQ)&&!__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC ++#endif // defined(__GLIBC_PREREQ) ++#endif // !__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC + #endif // __linux__ && !__ANDROID__ + + #include "proxy.h" diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch index d54b307e..36578543 100644 --- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch +++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch @@ -1,39 +1,35 @@ 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 +diff --git a/build/linux.clang.inc b/build/linux.clang.inc +index fe9b5c98..b0dcd68b 100644 +--- a/build/linux.clang.inc ++++ b/build/linux.clang.inc +@@ -12,8 +12,8 @@ + # See the License for the specific language governing permissions and + # limitations under the License. --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) + COMPILE_ONLY = -c -MMD + PREPROC_ONLY = -E -x c++ + INCLUDE_KEY = -I +diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc +index d820c15d..62c76afd 100644 +--- a/build/linux.gcc.inc ++++ b/build/linux.gcc.inc +@@ -12,8 +12,8 @@ + # See the License for the specific language governing permissions and + # limitations under the License. --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 +-CPLUS ?= g++ +-CONLY ?= gcc ++CPLUS ?= $(CXX) ++CONLY ?= $(CC) + COMPILE_ONLY = -c -MMD + PREPROC_ONLY = -E -x c++ + INCLUDE_KEY = -I diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc index 644b64fb..4f9da114 100644 --- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc +++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc @@ -5,7 +5,7 @@ includedir=${prefix}/include Name: Threading Building Blocks Description: Intel's parallelism library for C++ -URL: http://www.threadingbuildingblocks.org/ -Version: 3.0+r018 +URL: https://software.intel.com/en-us/tbb +Version: 2020.2 Libs: -L${libdir} -ltbb Cflags: -I${includedir} diff --git a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.2.bb index f8701040..2f9fd7f5 100644 --- a/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb +++ b/external/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.2.bb @@ -3,35 +3,37 @@ DESCRIPTION = "Parallelism library for C++ - runtime files \ 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/" +HOMEPAGE = "https://software.intel.com/en-us/tbb" 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} \ +BRANCH = "tbb_2020" +SRCREV = "60b7d0a78f8910976678ba63a19fdaee22c0ef65" +SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ file://cross-compile.patch \ file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \ - file://0002-linux-Fix-gcc-version-check.patch \ + file://GLIBC-PREREQ-is-not-defined-on-musl.patch \ file://tbb.pc \ " S = "${WORKDIR}/git" +PE = "1" COMPILER ?= "gcc" COMPILER_toolchain-clang = "clang" do_compile() { - oe_runmake compiler=${COMPILER} arch=${HOST_ARCH} runtime=cc4 + oe_runmake compiler=${COMPILER} arch=${HOST_ARCH} } do_install() { - install -d ${D}${includedir} ${D}${libdir}/pkgconfig + install -d ${D}${includedir} ${D}${libdir} 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 + for f in ${B}/build/linux_*_release/lib*.so* + do + install -Dm 0755 $f ${D}${libdir}/ + done + install -Dm 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig/tbb.pc } # fails with thumb enabled: @@ -41,5 +43,3 @@ do_install() { # ... # | make[1]: *** [concurrent_queue.o] Error 1 ARM_INSTRUCTION_SET = "arm" -SECURITY_CFLAGS_append = " -fPIC" - |