Skip to content

Commit 4f31d08

Browse files
committed
update tbb cmake patch
1 parent dc68431 commit 4f31d08

File tree

1 file changed

+23
-28
lines changed

1 file changed

+23
-28
lines changed

tbb.diff

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,37 @@
11
diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake
2-
index da6b408a..3730919a 100644
2+
index 4f552091..9f613dd9 100644
33
--- a/cmake/compilers/GNU.cmake
44
+++ b/cmake/compilers/GNU.cmake
5-
@@ -47,19 +47,24 @@ endif()
5+
@@ -47,26 +47,12 @@ endif()
66
# >=2.31.1). Capturing the output in CMake can be done like below. The version
77
# information is written to either stdout or stderr. To not make any
88
# assumptions, both are captured.
99
-execute_process(
10-
- COMMAND ${CMAKE_COMMAND} -E env "LANG=C" ${CMAKE_CXX_COMPILER} -xc -c /dev/null -Wa,-v -o/dev/null
10+
- COMMAND ${CMAKE_COMMAND} -E env "LC_ALL=C" "LANG=C" ${CMAKE_CXX_COMPILER} -xc -c /dev/null -Wa,-v -o/dev/null
1111
- OUTPUT_VARIABLE ASSEMBLER_VERSION_LINE_OUT
1212
- ERROR_VARIABLE ASSEMBLER_VERSION_LINE_ERR
1313
- OUTPUT_STRIP_TRAILING_WHITESPACE
1414
- ERROR_STRIP_TRAILING_WHITESPACE
1515
-)
1616
-set(ASSEMBLER_VERSION_LINE ${ASSEMBLER_VERSION_LINE_OUT}${ASSEMBLER_VERSION_LINE_ERR})
17-
-string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${ASSEMBLER_VERSION_LINE}")
18-
-string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${ASSEMBLER_VERSION_LINE}")
19-
-unset(ASSEMBLER_VERSION_LINE_OUT)
20-
-unset(ASSEMBLER_VERSION_LINE_ERR)
21-
-unset(ASSEMBLER_VERSION_LINE)
22-
+if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.29)
23-
+ string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${CMAKE_CXX_COMPILER_LINKER_VERSION}")
24-
+ string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${CMAKE_CXX_COMPILER_LINKER_VERSION}")
25-
+else()
26-
+ execute_process(
27-
+ COMMAND ${CMAKE_COMMAND} -E env "LANG=C" ${CMAKE_CXX_COMPILER} -xc -c /dev/null -Wa,-v -o/dev/null
28-
+ OUTPUT_VARIABLE ASSEMBLER_VERSION_LINE_OUT
29-
+ ERROR_VARIABLE ASSEMBLER_VERSION_LINE_ERR
30-
+ OUTPUT_STRIP_TRAILING_WHITESPACE
31-
+ ERROR_STRIP_TRAILING_WHITESPACE
32-
+ )
33-
+ set(ASSEMBLER_VERSION_LINE ${ASSEMBLER_VERSION_LINE_OUT}${ASSEMBLER_VERSION_LINE_ERR})
34-
+ string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${ASSEMBLER_VERSION_LINE}")
35-
+ string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${ASSEMBLER_VERSION_LINE}")
36-
+ unset(ASSEMBLER_VERSION_LINE_OUT)
37-
+ unset(ASSEMBLER_VERSION_LINE_ERR)
38-
+ unset(ASSEMBLER_VERSION_LINE)
39-
+endif()
40-
message(TRACE "Extracted GNU assembler version: major=${_tbb_gnu_asm_major_version} minor=${_tbb_gnu_asm_minor_version}")
17+
-if ("${ASSEMBLER_VERSION_LINE}" MATCHES "GNU assembler version")
18+
- string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${ASSEMBLER_VERSION_LINE}")
19+
- string(REGEX REPLACE ".*GNU assembler version ([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${ASSEMBLER_VERSION_LINE}")
20+
- unset(ASSEMBLER_VERSION_LINE_OUT)
21+
- unset(ASSEMBLER_VERSION_LINE_ERR)
22+
- unset(ASSEMBLER_VERSION_LINE)
23+
- message(TRACE "Extracted GNU assembler version: major=${_tbb_gnu_asm_major_version} minor=${_tbb_gnu_asm_minor_version}")
24+
-
25+
- math(EXPR _tbb_gnu_asm_version_number "${_tbb_gnu_asm_major_version} * 1000 + ${_tbb_gnu_asm_minor_version}")
26+
- set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} "-D__TBB_GNU_ASM_VERSION=${_tbb_gnu_asm_version_number}")
27+
- message(STATUS "GNU Assembler version: ${_tbb_gnu_asm_major_version}.${_tbb_gnu_asm_minor_version} (${_tbb_gnu_asm_version_number})")
28+
-endif()
29+
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*" "\\1" _tbb_gnu_asm_major_version "${CMAKE_CXX_COMPILER_LINKER_VERSION}")
30+
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*" "\\2" _tbb_gnu_asm_minor_version "${CMAKE_CXX_COMPILER_LINKER_VERSION}")
31+
+message(TRACE "Extracted GNU assembler version: major=${_tbb_gnu_asm_major_version} minor=${_tbb_gnu_asm_minor_version}")
32+
+math(EXPR _tbb_gnu_asm_version_number "${_tbb_gnu_asm_major_version} * 1000 + ${_tbb_gnu_asm_minor_version}")
33+
+set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} "-D__TBB_GNU_ASM_VERSION=${_tbb_gnu_asm_version_number}")
34+
+message(STATUS "GNU Assembler version: ${_tbb_gnu_asm_major_version}.${_tbb_gnu_asm_minor_version} (${_tbb_gnu_asm_version_number})")
4135

42-
math(EXPR _tbb_gnu_asm_version_number "${_tbb_gnu_asm_major_version} * 1000 + ${_tbb_gnu_asm_minor_version}")
36+
# Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors
37+
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(AMD64|amd64|i.86|x86)" AND NOT EMSCRIPTEN)

0 commit comments

Comments
 (0)