tbb: Update to 2022.2.0 (#25063)

* 002-fix-link-flags-on-mingw.patch: refresh + arm64 fix
* 003-fix-getting-assembler-version-on-mingw.patch: refresh
* set NTDDI_VERSION to expose new required APIs
This commit is contained in:
Christoph Reiter 2025-08-06 07:00:43 +02:00 committed by GitHub
parent 040d5bcc17
commit ed71215182
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 31 additions and 18 deletions

View File

@ -1,11 +1,22 @@
--- a/cmake/compilers/Clang.cmake
+++ b/cmake/compilers/Clang.cmake
@@ -62,7 +62,7 @@
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -Wformat -Wformat-security -Werror=format-security -fPIC $<$<NOT:$<BOOL:${EMSCRIPTEN}>>:-fstack-protector-strong>)
--- oneTBB-2022.2.0/cmake/compilers/Clang.cmake.orig 2025-08-05 05:51:05.216478500 +0200
+++ oneTBB-2022.2.0/cmake/compilers/Clang.cmake 2025-08-05 05:52:06.571710300 +0200
@@ -70,7 +70,7 @@
endif()
# -z switch is not supported on MacOS
-if (NOT APPLE)
+if (NOT APPLE AND NOT MINGW)
set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,relro,-z,now)
set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack)
endif()
--- oneTBB-2022.2.0/cmake/compilers/Clang.cmake.orig 2025-08-05 06:50:02.426524500 +0200
+++ oneTBB-2022.2.0/cmake/compilers/Clang.cmake 2025-08-05 06:50:13.563552300 +0200
@@ -65,7 +65,7 @@
# Clang flags to prevent compiler from optimizing out security checks
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -Wformat -Wformat-security -Werror=format-security -fPIC $<$<NOT:$<BOOL:${EMSCRIPTEN}>>:-fstack-protector-strong>)
-if (NOT APPLE AND NOT ANDROID_PLATFORM AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+if (NOT APPLE AND NOT ANDROID_PLATFORM AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64")
set(TBB_LIB_COMPILE_FLAGS ${TBB_LIB_COMPILE_FLAGS} -fstack-clash-protection $<$<NOT:$<BOOL:${EMSCRIPTEN}>>:-fcf-protection=full>)
endif()

View File

@ -1,5 +1,5 @@
--- a/cmake/compilers/GNU.cmake
+++ b/cmake/compilers/GNU.cmake
--- oneTBB-2022.2.0/cmake/compilers/GNU.cmake.orig 2025-06-30 15:31:02.000000000 +0200
+++ oneTBB-2022.2.0/cmake/compilers/GNU.cmake 2025-08-05 05:54:45.959102300 +0200
@@ -35,7 +35,10 @@
set(TBB_MMD_FLAG -MMD)
endif()
@ -12,11 +12,11 @@
# Binutils < 2.31.1 do not support the tpause instruction. When compiling with
# a modern version of GCC (supporting it) but relying on an outdated assembler,
# will result in an error reporting "no such instruction: tpause".
@@ -61,6 +64,7 @@
unset(ASSEMBLER_VERSION_LINE_ERR)
unset(ASSEMBLER_VERSION_LINE)
message(TRACE "Extracted GNU assembler version: major=${_tbb_gnu_asm_major_version} minor=${_tbb_gnu_asm_minor_version}")
@@ -62,6 +65,7 @@
unset(ASSEMBLER_VERSION_LINE_ERR)
unset(ASSEMBLER_VERSION_LINE)
message(TRACE "Extracted GNU assembler version: major=${_tbb_gnu_asm_major_version} minor=${_tbb_gnu_asm_minor_version}")
+endif()
math(EXPR _tbb_gnu_asm_version_number "${_tbb_gnu_asm_major_version} * 1000 + ${_tbb_gnu_asm_minor_version}")
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} "-D__TBB_GNU_ASM_VERSION=${_tbb_gnu_asm_version_number}")
math(EXPR _tbb_gnu_asm_version_number "${_tbb_gnu_asm_major_version} * 1000 + ${_tbb_gnu_asm_minor_version}")
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} "-D__TBB_GNU_ASM_VERSION=${_tbb_gnu_asm_version_number}")

View File

@ -3,8 +3,8 @@
_realname=oneTBB
pkgbase=mingw-w64-tbb
pkgname=("${MINGW_PACKAGE_PREFIX}-tbb")
pkgver=2022.1.0
pkgrel=2
pkgver=2022.2.0
pkgrel=1
pkgdesc='oneAPI Threading Building Blocks (mingw-w64)'
arch=(any)
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
@ -23,10 +23,10 @@ source=("https://github.com/uxlfoundation/oneTBB/archive/v${pkgver}/${_realname}
001-fix-using-TBB-with-Debug-build-type.patch
002-fix-link-flags-on-mingw.patch
003-fix-getting-assembler-version-on-mingw.patch)
sha256sums=('ed067603ece0dc832d2881ba5c516625ac2522c665d95f767ef6304e34f961b5'
sha256sums=('f0f78001c8c8edb4bddc3d4c5ee7428d56ae313254158ad1eec49eced57f6a5b'
'094c556a1087563a3a5810db0fa81aed6432b3a8e91aab9a747e9a55ea262f2a'
'7105abda9ae82825bb7df12ed5bfba698b896945fca0023dcd040e51b3b7f1cf'
'cdac0450805f106220ac087b867b10af5066dc01a4272c037b0de2b7f53d0fe1')
'68e228b4cb2226192ac06d2b73eb4fe33c1ebae18e465d299d4f37da1ea3d9e7'
'd51db2fc6acbb6022fe1e9b0188d0b5bc7041b9db0905cad8a58d6fde3d1750e')
apply_patch_with_msg() {
for _patch in "$@"
@ -60,6 +60,8 @@ build() {
_extra_config+=("-DTBB_ENABLE_IPO=ON")
fi
CXXFLAGS+=" -D_WIN32_WINNT=0x0A00 -DNTDDI_VERSION=0x0A000002"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-GNinja \