|
@@ -0,0 +1,49 @@
|
|
|
+diff --git a/cmake/compilers/Clang.cmake b/cmake/compilers/Clang.cmake
|
|
|
+index dcd66634..c8f67d4a 100644
|
|
|
+--- a/cmake/compilers/Clang.cmake
|
|
|
++++ b/cmake/compilers/Clang.cmake
|
|
|
+@@ -66,7 +66,7 @@ endif()
|
|
|
+ set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -Wformat -Wformat-security -Werror=format-security -fPIC $<$<NOT:$<BOOL:${EMSCRIPTEN}>>:-fstack-protector-strong>)
|
|
|
+
|
|
|
+ # -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)
|
|
|
+ endif()
|
|
|
+
|
|
|
+diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake
|
|
|
+index cf6d8bdb..8f4dbc7f 100644
|
|
|
+--- a/cmake/compilers/GNU.cmake
|
|
|
++++ b/cmake/compilers/GNU.cmake
|
|
|
+@@ -36,6 +36,10 @@ if (NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT CMAKE_CXX_DEPENDS_USE_COMPILER)
|
|
|
+ endif()
|
|
|
+
|
|
|
+
|
|
|
++if(MINGW)
|
|
|
++ set(_tbb_gnu_asm_major_version "2")
|
|
|
++ set(_tbb_gnu_asm_minor_version "43")
|
|
|
++else()
|
|
|
+ # 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 +65,7 @@ unset(ASSEMBLER_VERSION_LINE_OUT)
|
|
|
+ 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}")
|
|
|
+diff --git a/include/oneapi/tbb/profiling.h b/include/oneapi/tbb/profiling.h
|
|
|
+index 412b5a35..fccaba5f 100644
|
|
|
+--- a/include/oneapi/tbb/profiling.h
|
|
|
++++ b/include/oneapi/tbb/profiling.h
|
|
|
+@@ -132,7 +132,7 @@ namespace d1 {
|
|
|
+ r1::call_itt_notify(static_cast<int>(t), ptr);
|
|
|
+ }
|
|
|
+
|
|
|
+-#if (_WIN32||_WIN64) && !__MINGW32__
|
|
|
++#if (_WIN32||_WIN64)
|
|
|
+ inline void itt_set_sync_name(void* obj, const wchar_t* name) {
|
|
|
+ r1::itt_set_sync_name(obj, name);
|
|
|
+ }
|