1*4882a593SmuzhiyunDESCRIPTION = "Parallelism library for C++ - runtime files \ 2*4882a593Smuzhiyun TBB is a library that helps you leverage multi-core processor \ 3*4882a593Smuzhiyun performance without having to be a threading expert. It represents a \ 4*4882a593Smuzhiyun higher-level, task-based parallelism that abstracts platform details \ 5*4882a593Smuzhiyun and threading mechanism for performance and scalability." 6*4882a593SmuzhiyunHOMEPAGE = "https://software.intel.com/en-us/tbb" 7*4882a593SmuzhiyunLICENSE = "Apache-2.0" 8*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327" 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunDEPENDS:append:libc-musl = " libucontext" 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunPE = "1" 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunBRANCH = "onetbb_2021" 15*4882a593SmuzhiyunSRCREV = "3df08fe234f23e732a122809b40eb129ae22733f" 16*4882a593SmuzhiyunSRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ 17*4882a593Smuzhiyun file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \ 18*4882a593Smuzhiyun file://0001-CMakeLists.txt-exclude-riscv64-riscv32.patch \ 19*4882a593Smuzhiyun file://0001-Disable-use-of-_tpause-instruction.patch \ 20*4882a593Smuzhiyun file://0001-Musl-linux-can-not-use-RTLD_DEEPBIND.patch \ 21*4882a593Smuzhiyun file://0001-Disable-LTO-on-clang-riscv32.patch \ 22*4882a593Smuzhiyun" 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunS = "${WORKDIR}/git" 25*4882a593Smuzhiyun 26*4882a593Smuzhiyuninherit cmake 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun# test build fails, error: 'mallinfo mallinfo()' is deprecated 29*4882a593SmuzhiyunEXTRA_OECMAKE += " \ 30*4882a593Smuzhiyun -DTBB_TEST=OFF \ 31*4882a593Smuzhiyun -DCMAKE_BUILD_TYPE=Release \ 32*4882a593Smuzhiyun " 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun# fails with thumb enabled: 36*4882a593Smuzhiyun# | 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 37*4882a593Smuzhiyun# | {standard input}: Assembler messages: 38*4882a593Smuzhiyun# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]' 39*4882a593Smuzhiyun# ... 40*4882a593Smuzhiyun# | make[1]: *** [concurrent_queue.o] Error 1 41*4882a593SmuzhiyunARM_INSTRUCTION_SET = "arm" 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunASNEEDED = "" 44*4882a593Smuzhiyun 45*4882a593SmuzhiyunLDFLAGS:append:mips = " -latomic" 46*4882a593SmuzhiyunLDFLAGS:append:mipsel = " -latomic" 47*4882a593SmuzhiyunLDFLAGS:append:riscv32:toolchain-clang = " -latomic" 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunLDFLAGS:append:libc-musl = " -lucontext" 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun# The latest version of oneTBB does not support PPC 52*4882a593SmuzhiyunCOMPATIBLE_MACHINE:powerpc = "(!.*ppc).*" 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk" 55