From 2f3b740b4ffc3bd2aa45d94a20d27de8a3160991 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Sun, 30 Mar 2025 17:27:59 +0800 Subject: tbb: upgrade 2022.0.0 -> 2022.1.0 ChangeLog: https://github.com/uxlfoundation/oneTBB/releases/tag/v2022.1.0 Signed-off-by: Yi Zhao Signed-off-by: Khem Raj --- meta-oe/recipes-support/tbb/tbb_2022.0.0.bb | 64 ----------------------------- meta-oe/recipes-support/tbb/tbb_2022.1.0.bb | 64 +++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 64 deletions(-) delete mode 100644 meta-oe/recipes-support/tbb/tbb_2022.0.0.bb create mode 100644 meta-oe/recipes-support/tbb/tbb_2022.1.0.bb diff --git a/meta-oe/recipes-support/tbb/tbb_2022.0.0.bb b/meta-oe/recipes-support/tbb/tbb_2022.0.0.bb deleted file mode 100644 index 7442843f39..0000000000 --- a/meta-oe/recipes-support/tbb/tbb_2022.0.0.bb +++ /dev/null @@ -1,64 +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_2022" -SRCREV = "0c0ff192a2304e114bc9e6557582dfba101360ff" -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 \ - -DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=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_2022.1.0.bb b/meta-oe/recipes-support/tbb/tbb_2022.1.0.bb new file mode 100644 index 0000000000..967ace9075 --- /dev/null +++ b/meta-oe/recipes-support/tbb/tbb_2022.1.0.bb @@ -0,0 +1,64 @@ +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_2022" +SRCREV = "45587e94dfb6dfe00220c5f520020a5bc745e92f" +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 \ + -DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=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