From d8c5a72788ab0f2e36aee16e6d9e7555537366a5 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Tue, 17 Sep 2024 12:05:58 +0800 Subject: tbb: upgrade 2021.11.0 -> 2021.13.0 ChangeLog: https://github.com/oneapi-src/oneTBB/releases/tag/v2021.12.0 https://github.com/oneapi-src/oneTBB/releases/tag/v2021.13.0 Drop 0001-hwloc_detection.cmake-remove-cross-compiation-check.patch as the issue has been fixed upstream. Signed-off-by: Yi Zhao Signed-off-by: Khem Raj --- ...ction.cmake-remove-cross-compiation-check.patch | 33 ------------ meta-oe/recipes-support/tbb/tbb_2021.11.0.bb | 63 ---------------------- meta-oe/recipes-support/tbb/tbb_2021.13.0.bb | 63 ++++++++++++++++++++++ 3 files changed, 63 insertions(+), 96 deletions(-) delete mode 100644 meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch delete mode 100644 meta-oe/recipes-support/tbb/tbb_2021.11.0.bb create mode 100644 meta-oe/recipes-support/tbb/tbb_2021.13.0.bb diff --git a/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch b/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch deleted file mode 100644 index 640b131703..0000000000 --- a/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7ffc1eba8596544d6e3af0fd5f4004fff6d56f84 Mon Sep 17 00:00:00 2001 -From: Naveen Saini -Date: Wed, 29 Nov 2023 15:48:57 +0800 -Subject: [PATCH] hwloc_detection.cmake: remove cross-compiation check - -This check is preventing pkgconfig to -search for hwloc under cross-compilation. - -pkgconfig able to find hwloc pkg from sysroot. - -Upstream-Status: Inappropriate - -Signed-off-by: Naveen Saini ---- - cmake/hwloc_detection.cmake | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/cmake/hwloc_detection.cmake b/cmake/hwloc_detection.cmake -index 47233b17..5a7e84c3 100644 ---- a/cmake/hwloc_detection.cmake -+++ b/cmake/hwloc_detection.cmake -@@ -46,8 +46,6 @@ endforeach() - unset(HWLOC_TARGET_NAME) - - if (NOT HWLOC_TARGET_EXPLICITLY_DEFINED AND -- # No hwloc auto detection for cross compilation -- NOT CMAKE_CROSSCOMPILING AND - NOT TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH - ) - find_package(PkgConfig QUIET) --- -2.37.3 - diff --git a/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb b/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb deleted file mode 100644 index 0f9f02655e..0000000000 --- a/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb +++ /dev/null @@ -1,63 +0,0 @@ -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 = "https://software.intel.com/en-us/tbb" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327" - -DEPENDS:append:libc-musl = " libucontext" -DEPENDS:append:class-target = " hwloc" - -PE = "1" - -BRANCH = "onetbb_2021" -SRCREV = "8b829acc65569019edb896c5150d427f288e8aba" -SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ - file://0001-hwloc_detection.cmake-remove-cross-compiation-check.patch \ -" -S = "${WORKDIR}/git" - -inherit cmake pkgconfig - -# test build fails, error: 'mallinfo mallinfo()' is deprecated -EXTRA_OECMAKE += " \ - -DTBB_TEST=OFF \ - -DCMAKE_BUILD_TYPE=Release \ - -DTBB_STRICT=OFF \ - " - -# Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi) -# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: /tmp/lto-llvm-264bc2.o: can't link soft-float modules with double-float modules -# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: failed to merge target specific data of file /tmp/lto-llvm-264bc2.o -EXTRA_OECMAKE:append:riscv32:toolchain-clang = " -DTBB_ENABLE_IPO=OFF " -EXTRA_OECMAKE:append:riscv64:toolchain-clang = " -DTBB_ENABLE_IPO=OFF " - -# 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" - -ASNEEDED = "" - -LDFLAGS:append:mips = " -latomic" -LDFLAGS:append:mipsel = " -latomic" -LDFLAGS:append:riscv32:toolchain-clang = " -latomic" - -LDFLAGS:append:libc-musl = " -lucontext" - -# The latest version of oneTBB does not support PPC -COMPATIBLE_MACHINE:powerpc = "(!.*ppc).*" - - -do_install:append:class-target() { - # fix for qa check buildpaths - sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/TBB/TBBTargets.cmake -} - - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/tbb/tbb_2021.13.0.bb b/meta-oe/recipes-support/tbb/tbb_2021.13.0.bb new file mode 100644 index 0000000000..e2b7543c0f --- /dev/null +++ b/meta-oe/recipes-support/tbb/tbb_2021.13.0.bb @@ -0,0 +1,63 @@ +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 = "https://software.intel.com/en-us/tbb" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327" + +DEPENDS:append:libc-musl = " libucontext" +DEPENDS:append:class-target = " hwloc" + +PE = "1" + +BRANCH = "onetbb_2021" +SRCREV = "1c4c93fc5398c4a1acb3492c02db4699f3048dea" +SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ + " + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +# test build fails, error: 'mallinfo mallinfo()' is deprecated +EXTRA_OECMAKE += " \ + -DTBB_TEST=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DTBB_STRICT=OFF \ + " + +# Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi) +# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: /tmp/lto-llvm-264bc2.o: can't link soft-float modules with double-float modules +# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: failed to merge target specific data of file /tmp/lto-llvm-264bc2.o +EXTRA_OECMAKE:append:riscv32:toolchain-clang = " -DTBB_ENABLE_IPO=OFF " +EXTRA_OECMAKE:append:riscv64:toolchain-clang = " -DTBB_ENABLE_IPO=OFF " + +# 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" + +ASNEEDED = "" + +LDFLAGS:append:mips = " -latomic" +LDFLAGS:append:mipsel = " -latomic" +LDFLAGS:append:riscv32:toolchain-clang = " -latomic" + +LDFLAGS:append:libc-musl = " -lucontext" + +# The latest version of oneTBB does not support PPC +COMPATIBLE_MACHINE:powerpc = "(!.*ppc).*" + + +do_install:append:class-target() { + # fix for qa check buildpaths + sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/TBB/TBBTargets.cmake +} + + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf