Commit 95a24349 authored by Mo Zhou's avatar Mo Zhou

New upstream version 2019~U9

parent 6de9aebb
...@@ -85,3 +85,4 @@ CMakeFiles/ ...@@ -85,3 +85,4 @@ CMakeFiles/
.svn .svn
crash* crash*
*.tmp *.tmp
/.vs
...@@ -2,6 +2,40 @@ ...@@ -2,6 +2,40 @@
The list of most significant changes made over time in The list of most significant changes made over time in
Intel(R) Threading Building Blocks (Intel(R) TBB). Intel(R) Threading Building Blocks (Intel(R) TBB).
Intel TBB 2019 Update 9
TBB_INTERFACE_VERSION == 11009
Changes (w.r.t. Intel TBB 2019 Update 8):
- Multiple APIs are deprecated. For details, please see
Deprecated Features appendix in the TBB reference manual.
- Added C++17 deduction guides for flow graph nodes.
Preview Features:
- Added isolated_task_group class that allows multiple threads to add
and execute tasks sharing the same isolation.
- Extended the flow graph API to simplify connecting nodes.
- Added erase() by heterogeneous keys for concurrent ordered containers.
- Added a possibility to suspend task execution at a specific point
and resume it later.
Bugs fixed:
- Fixed the emplace() method of concurrent unordered containers to
destroy a temporary element that was not inserted.
- Fixed a bug in the merge() method of concurrent unordered
containers.
- Fixed behavior of a continue_node that follows buffering nodes.
Open-source contributions integrated:
- Added support for move-only types to tbb::parallel_pipeline
(https://github.com/intel/tbb/pull/159) by Raf Schietekat.
- Fixed detection of clang version when CUDA toolkit is installed
(https://github.com/intel/tbb/pull/150) by Guilherme Amadio.
------------------------------------------------------------------------
Intel TBB 2019 Update 8 Intel TBB 2019 Update 8
TBB_INTERFACE_VERSION == 11008 TBB_INTERFACE_VERSION == 11008
......
# Threading Building Blocks 2019 Update 8 # Threading Building Blocks 2019 Update 9
[![Stable release](https://img.shields.io/badge/version-2019_U8-green.svg)](https://github.com/01org/tbb/releases/tag/2019_U8) [![Stable release](https://img.shields.io/badge/version-2019_U9-green.svg)](https://github.com/intel/tbb/releases/tag/2019_U9)
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE) [![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)
Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take
...@@ -8,7 +8,7 @@ full advantage of multicore performance, that are portable, composable and have ...@@ -8,7 +8,7 @@ full advantage of multicore performance, that are portable, composable and have
## Release Information ## Release Information
Here are the latest [Changes](CHANGES) and [Release Notes](doc/Release_Notes.txt) (contains system requirements and known issues). Here are the latest [Changes](CHANGES) and [Release Notes](doc/Release_Notes.txt) (contains system requirements and known issues).
Since [2018 U5](https://github.com/01org/tbb/releases/tag/2018_U5) TBB binary packages include [Parallel STL](https://github.com/intel/parallelstl) as a high-level component. Since [2018 U5](https://github.com/intel/tbb/releases/tag/2018_U5) TBB binary packages include [Parallel STL](https://github.com/intel/parallelstl) as a high-level component.
## Documentation ## Documentation
* TBB [tutorial](https://software.intel.com/en-us/tbb-tutorial) * TBB [tutorial](https://software.intel.com/en-us/tbb-tutorial)
...@@ -17,7 +17,7 @@ and [latest](https://www.threadingbuildingblocks.org/docs/help/index.htm) ...@@ -17,7 +17,7 @@ and [latest](https://www.threadingbuildingblocks.org/docs/help/index.htm)
## Support ## Support
Please report issues and suggestions via Please report issues and suggestions via
[GitHub issues](https://github.com/01org/tbb/issues) or start a topic on the [GitHub issues](https://github.com/intel/tbb/issues) or start a topic on the
[TBB forum](http://software.intel.com/en-us/forums/intel-threading-building-blocks/). [TBB forum](http://software.intel.com/en-us/forums/intel-threading-building-blocks/).
## How to Contribute ## How to Contribute
......
...@@ -25,7 +25,7 @@ ifndef arch ...@@ -25,7 +25,7 @@ ifndef arch
endif endif
ifndef runtime ifndef runtime
clang_version:=$(shell clang -v 2>&1 | grep version | sed "s/.*version \([0-9]*\.[0-9]*\).*/\1/") clang_version:=$(shell clang --version | sed -n "1s/.*version \(.*[0-9]\) .*/\1/p")
os_version:=$(shell uname -r) os_version:=$(shell uname -r)
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//') os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
export runtime:=cc$(clang_version)_kernel$(os_kernel_version) export runtime:=cc$(clang_version)_kernel$(os_kernel_version)
......
...@@ -32,7 +32,7 @@ C_FLAGS = $(CPLUS_FLAGS) ...@@ -32,7 +32,7 @@ C_FLAGS = $(CPLUS_FLAGS)
# gcc 6.0 and later have -flifetime-dse option that controls # gcc 6.0 and later have -flifetime-dse option that controls
# elimination of stores done outside the object lifetime # elimination of stores done outside the object lifetime
ifneq (,$(shell gcc -dumpfullversion -dumpversion | egrep "^([6-9])")) ifneq (,$(shell gcc -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])"))
# keep pre-contruction stores for zero initialization # keep pre-contruction stores for zero initialization
DSE_KEY = -flifetime-dse=1 DSE_KEY = -flifetime-dse=1
endif endif
......
...@@ -60,6 +60,13 @@ TBB_DEP_NON_RML_TEST?= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ ...@@ -60,6 +60,13 @@ TBB_DEP_NON_RML_TEST?= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ
ifeq ($(cfg),debug) ifeq ($(cfg),debug)
RML_TBB_DEP+= spin_mutex_rml.$(OBJ) RML_TBB_DEP+= spin_mutex_rml.$(OBJ)
TBB_DEP_RML_TEST?= $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ) TBB_DEP_RML_TEST?= $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ)
ifeq (windows icl,$(tbb_os) $(compiler_name))
# Some versions of ICC link to the wrong version of the vc runtime
# libcpmtd.lib should be used instead of libcpmt.lib
LIB_LINK_FLAGS += /nodefaultlib:libcpmt.lib
endif
else else
TBB_DEP_RML_TEST?= $(RML_ASM.OBJ) TBB_DEP_RML_TEST?= $(RML_ASM.OBJ)
endif endif
......
...@@ -103,6 +103,9 @@ test_dynamic_link.$(TEST_EXT): LIBS += $(LIBDL) ...@@ -103,6 +103,9 @@ test_dynamic_link.$(TEST_EXT): LIBS += $(LIBDL)
ifneq (,$(BIGOBJ_KEY)) ifneq (,$(BIGOBJ_KEY))
TEST_BIGOBJ = test_opencl_node.$(TEST_EXT) \ TEST_BIGOBJ = test_opencl_node.$(TEST_EXT) \
test_atomic.$(TEST_EXT) \ test_atomic.$(TEST_EXT) \
test_concurrent_hash_map.$(TEST_EXT) \
test_concurrent_set.$(TEST_EXT) \
test_concurrent_map.$(TEST_EXT) \
test_concurrent_unordered_set.$(TEST_EXT) \ test_concurrent_unordered_set.$(TEST_EXT) \
test_concurrent_unordered_map.$(TEST_EXT) \ test_concurrent_unordered_map.$(TEST_EXT) \
test_join_node_key_matching.$(TEST_EXT) \ test_join_node_key_matching.$(TEST_EXT) \
...@@ -130,6 +133,8 @@ TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \ ...@@ -130,6 +133,8 @@ TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \
test_concurrent_unordered_set.$(TEST_EXT) \ test_concurrent_unordered_set.$(TEST_EXT) \
test_concurrent_unordered_map.$(TEST_EXT) \ test_concurrent_unordered_map.$(TEST_EXT) \
test_concurrent_hash_map.$(TEST_EXT) \ test_concurrent_hash_map.$(TEST_EXT) \
test_concurrent_set.$(TEST_EXT) \
test_concurrent_map.$(TEST_EXT) \
test_enumerable_thread_specific.$(TEST_EXT) \ test_enumerable_thread_specific.$(TEST_EXT) \
test_handle_perror.$(TEST_EXT) \ test_handle_perror.$(TEST_EXT) \
test_halt.$(TEST_EXT) \ test_halt.$(TEST_EXT) \
...@@ -211,6 +216,7 @@ TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \ ...@@ -211,6 +216,7 @@ TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \
test_composite_node.$(TEST_EXT) \ test_composite_node.$(TEST_EXT) \
test_async_node.$(TEST_EXT) \ test_async_node.$(TEST_EXT) \
test_async_msg.$(TEST_EXT) \ test_async_msg.$(TEST_EXT) \
test_resumable_tasks.$(TEST_EXT) \
test_tbb_version.$(TEST_EXT) # insert new files right above test_tbb_version.$(TEST_EXT) # insert new files right above
# These tests depend on other technologies # These tests depend on other technologies
......
...@@ -42,6 +42,10 @@ endif ...@@ -42,6 +42,10 @@ endif
INCLUDES += $(INCLUDE_KEY)$(tbb_root)/src $(INCLUDE_KEY)$(tbb_root)/src/rml/include $(INCLUDE_KEY)$(tbb_root)/include INCLUDES += $(INCLUDE_KEY)$(tbb_root)/src $(INCLUDE_KEY)$(tbb_root)/src/rml/include $(INCLUDE_KEY)$(tbb_root)/include
CPLUS_FLAGS += $(WARNING_KEY) $(CXXFLAGS) CPLUS_FLAGS += $(WARNING_KEY) $(CXXFLAGS)
# Suppress warnings about usage of deprecated content
CPLUS_FLAGS += $(DEFINE_KEY)TBB_SUPPRESS_DEPRECATED_MESSAGES=1
ifeq (1,$(tbb_cpf)) ifeq (1,$(tbb_cpf))
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_CPF_BUILD=1 CPLUS_FLAGS += $(DEFINE_KEY)__TBB_CPF_BUILD=1
endif endif
......
...@@ -57,12 +57,18 @@ function doWork() { ...@@ -57,12 +57,18 @@ function doWork() {
WScript.Echo("mingw" + gccVersion); WScript.Echo("mingw" + gccVersion);
} }
else if (WScript.Arguments(0) == "/minversion") { else if (WScript.Arguments(0) == "/minversion") {
// Comparing strings, not numbers; will not work for two-digit versions for (var i = 0; i < 3; i++) {
if (gccVersion >= WScript.Arguments(2)) { v1 = parseInt(gccVersion.split('.')[i]);
WScript.Echo("ok"); v2 = parseInt(WScript.Arguments(2).split('.')[i]);
} else {
WScript.Echo("fail"); if (v1 > v2) {
break;
} else if (v1 < v2) {
WScript.Echo("fail");
return;
}
} }
WScript.Echo("ok");
} }
} }
return; return;
...@@ -121,6 +127,8 @@ function doWork() { ...@@ -121,6 +127,8 @@ function doWork() {
} else if (mapContext.match(vc140)) { } else if (mapContext.match(vc140)) {
if (WshShell.ExpandEnvironmentStrings("%VisualStudioVersion%") == "15.0") if (WshShell.ExpandEnvironmentStrings("%VisualStudioVersion%") == "15.0")
WScript.Echo("vc14.1"); WScript.Echo("vc14.1");
else if (WshShell.ExpandEnvironmentStrings("%VisualStudioVersion%") == "16.0")
WScript.Echo("vc14.2");
else else
WScript.Echo("vc14"); WScript.Echo("vc14");
} else { } else {
......
...@@ -30,17 +30,21 @@ EXPORT_KEY = -Wl,--version-script, ...@@ -30,17 +30,21 @@ EXPORT_KEY = -Wl,--version-script,
LIBDL = -ldl LIBDL = -ldl
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
LIBS += -lpthread -lrt LIBS += -lrt
LINK_FLAGS = -Wl,-rpath-link=. -rdynamic LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
C_FLAGS = $(CPLUS_FLAGS) C_FLAGS = $(CPLUS_FLAGS)
ifeq ($(cfg), release) ifeq ($(cfg), release)
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD # -g is set intentionally in the release mode. It should not affect performance.
CPLUS_FLAGS = -O2 -g
endif endif
ifeq ($(cfg), debug) ifeq ($(cfg), debug)
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD CPLUS_FLAGS = -DTBB_USE_DEBUG -O0 -g
endif endif
CPLUS_FLAGS += $(ITT_NOTIFY) -DUSE_PTHREAD -pthread
LIB_LINK_FLAGS += -pthread
ifneq (,$(stdlib)) ifneq (,$(stdlib))
CPLUS_FLAGS += -stdlib=$(stdlib) CPLUS_FLAGS += -stdlib=$(stdlib)
LIB_LINK_FLAGS += -stdlib=$(stdlib) LIB_LINK_FLAGS += -stdlib=$(stdlib)
......
...@@ -31,27 +31,27 @@ EXPORT_KEY = -Wl,--version-script, ...@@ -31,27 +31,27 @@ EXPORT_KEY = -Wl,--version-script,
LIBDL = -ldl LIBDL = -ldl
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
LIBS += -lpthread -lrt LIBS += -lrt
LINK_FLAGS = -Wl,-rpath-link=. -rdynamic LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
C_FLAGS = $(CPLUS_FLAGS) C_FLAGS = $(CPLUS_FLAGS)
# gcc 4.2 and higher support OpenMP # gcc 4.2 and higher support OpenMP
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[2-9]|[5-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[2-9]|[5-9]|1[0-9])"))
OPENMP_FLAG = -fopenmp OPENMP_FLAG = -fopenmp
endif endif
# gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them # gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[8-9]|[5-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[8-9]|[5-9]|1[0-9])"))
RTM_KEY = -mrtm RTM_KEY = -mrtm
endif endif
# gcc 4.0 and later have -Wextra that is used by some our customers. # gcc 4.0 and later have -Wextra that is used by some our customers.
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([4-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([4-9]|1[0-9])"))
WARNING_KEY += -Wextra WARNING_KEY += -Wextra
endif endif
# gcc 5.0 and later have -Wsuggest-override and -Wno-sized-deallocation options # gcc 5.0 and later have -Wsuggest-override and -Wno-sized-deallocation options
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([5-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([5-9]|1[0-9])"))
# enable -Wsuggest-override via a pre-included header in order to limit to C++11 and above # enable -Wsuggest-override via a pre-included header in order to limit to C++11 and above
INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h
WARNING_SUPPRESS += -Wno-sized-deallocation WARNING_SUPPRESS += -Wno-sized-deallocation
...@@ -59,18 +59,22 @@ endif ...@@ -59,18 +59,22 @@ endif
# gcc 6.0 and later have -flifetime-dse option that controls # gcc 6.0 and later have -flifetime-dse option that controls
# elimination of stores done outside the object lifetime # elimination of stores done outside the object lifetime
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])"))
# keep pre-contruction stores for zero initialization # keep pre-contruction stores for zero initialization
DSE_KEY = -flifetime-dse=1 DSE_KEY = -flifetime-dse=1
endif endif
ifeq ($(cfg), release) ifeq ($(cfg), release)
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD # -g is set intentionally in the release mode. It should not affect performance.
CPLUS_FLAGS = -O2 -g
endif endif
ifeq ($(cfg), debug) ifeq ($(cfg), debug)
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD CPLUS_FLAGS = -DTBB_USE_DEBUG -O0 -g
endif endif
CPLUS_FLAGS += $(ITT_NOTIFY) -DUSE_PTHREAD -pthread
LIB_LINK_FLAGS += -pthread
TBB_ASM.OBJ= TBB_ASM.OBJ=
MALLOC_ASM.OBJ= MALLOC_ASM.OBJ=
......
...@@ -34,16 +34,20 @@ endif ...@@ -34,16 +34,20 @@ endif
ITT_NOTIFY = -DDO_ITT_NOTIFY ITT_NOTIFY = -DDO_ITT_NOTIFY
ifeq (release,$(cfg)) ifeq (release,$(cfg))
SDL_FLAGS += -D_FORTIFY_SOURCE=2 SDL_FLAGS += -D_FORTIFY_SOURCE=2
CPLUS_FLAGS = $(ITT_NOTIFY) -O2 -g -DUSE_PTHREAD # -g is set intentionally in the release mode. It should not affect performance.
CPLUS_FLAGS = -O2 -g -qno-opt-report-embed
else else
CPLUS_FLAGS = $(ITT_NOTIFY) -O0 -g -DUSE_PTHREAD -DTBB_USE_DEBUG CPLUS_FLAGS = -O0 -g -DTBB_USE_DEBUG
endif endif
LIB_LINK_FLAGS = -shared -static-intel -Wl,-soname=$(BUILDING_LIBRARY) -z relro -z now LIB_LINK_FLAGS = -shared -static-intel -Wl,-soname=$(BUILDING_LIBRARY) -z relro -z now
LIBS += -lpthread -lrt LIBS += -lrt
LINK_FLAGS = -rdynamic LINK_FLAGS = -rdynamic
C_FLAGS = $(CPLUS_FLAGS) C_FLAGS = $(CPLUS_FLAGS)
CPLUS_FLAGS += $(ITT_NOTIFY) -DUSE_PTHREAD -pthread
LIB_LINK_FLAGS += -pthread
ifneq (,$(shell icc -dumpversion | egrep "^1[6-9]\.")) ifneq (,$(shell icc -dumpversion | egrep "^1[6-9]\."))
OPENMP_FLAG = -qopenmp OPENMP_FLAG = -qopenmp
else else
......
...@@ -42,6 +42,11 @@ endif ...@@ -42,6 +42,11 @@ endif
CPLUS_FLAGS += -DUSE_PTHREAD $(ITT_NOTIFY) CPLUS_FLAGS += -DUSE_PTHREAD $(ITT_NOTIFY)
ifeq (1,$(tbb_cpf))
# For correct ucontext.h structures layout
CPLUS_FLAGS += -D_XOPEN_SOURCE
endif
# For Clang, we add the option to support RTM intrinsics *iff* xtest is found in <immintrin.h> # For Clang, we add the option to support RTM intrinsics *iff* xtest is found in <immintrin.h>
ifneq (,$(shell grep xtest `echo "\#include<immintrin.h>" | $(CONLY) -E -M - 2>&1 | grep immintrin.h` 2>/dev/null)) ifneq (,$(shell grep xtest `echo "\#include<immintrin.h>" | $(CONLY) -E -M - 2>&1 | grep immintrin.h` 2>/dev/null))
RTM_KEY = -mrtm RTM_KEY = -mrtm
......
...@@ -35,19 +35,19 @@ LIB_LINK_FLAGS = -dynamiclib -install_name @rpath/$(BUILDING_LIBRARY) ...@@ -35,19 +35,19 @@ LIB_LINK_FLAGS = -dynamiclib -install_name @rpath/$(BUILDING_LIBRARY)
C_FLAGS = $(CPLUS_FLAGS) C_FLAGS = $(CPLUS_FLAGS)
# gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them # gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[8-9]|[5-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[8-9]|[5-9]|1[0-9])"))
RTM_KEY = -mrtm RTM_KEY = -mrtm
endif endif
# gcc 5.0 and later have -Wsuggest-override option # gcc 5.0 and later have -Wsuggest-override option
# enable it via a pre-included header in order to limit to C++11 and above # enable it via a pre-included header in order to limit to C++11 and above
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([5-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([5-9]|1[0-9])"))
INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h
endif endif
# gcc 6.0 and later have -flifetime-dse option that controls # gcc 6.0 and later have -flifetime-dse option that controls
# elimination of stores done outside the object lifetime # elimination of stores done outside the object lifetime
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9])")) ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])"))
# keep pre-contruction stores for zero initialization # keep pre-contruction stores for zero initialization
DSE_KEY = -flifetime-dse=1 DSE_KEY = -flifetime-dse=1
endif endif
......
...@@ -49,7 +49,7 @@ endif ...@@ -49,7 +49,7 @@ endif
ifeq ($(cfg), release) ifeq ($(cfg), release)
SDL_FLAGS += -D_FORTIFY_SOURCE=2 SDL_FLAGS += -D_FORTIFY_SOURCE=2
CPLUS_FLAGS = -g -O2 -fno-omit-frame-pointer CPLUS_FLAGS = -g -O2 -fno-omit-frame-pointer -qno-opt-report-embed
else else
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG
endif endif
...@@ -57,6 +57,11 @@ endif ...@@ -57,6 +57,11 @@ endif
ITT_NOTIFY = -DDO_ITT_NOTIFY ITT_NOTIFY = -DDO_ITT_NOTIFY
CPLUS_FLAGS += -DUSE_PTHREAD $(ITT_NOTIFY) CPLUS_FLAGS += -DUSE_PTHREAD $(ITT_NOTIFY)
ifeq (1,$(tbb_cpf))
# For correct ucontext.h structures layout
CPLUS_FLAGS += -D_XOPEN_SOURCE
endif
ifneq (,$(codecov)) ifneq (,$(codecov))
CPLUS_FLAGS += -prof-gen=srcpos CPLUS_FLAGS += -prof-gen=srcpos
endif endif
......
...@@ -45,7 +45,7 @@ ifndef arch ...@@ -45,7 +45,7 @@ ifndef arch
endif endif
ifndef runtime ifndef runtime
clang_version:=$(shell clang -v 2>&1 >/dev/null | grep version | sed -e "s/.*version \(.*[0-9]\) .*/\1/") clang_version:=$(shell clang --version | sed -n "1s/.*version \(.*[0-9]\) .*/\1/p")
ifndef os_version ifndef os_version
os_version:=$(shell /usr/bin/sw_vers -productVersion) os_version:=$(shell /usr/bin/sw_vers -productVersion)
endif endif
......
...@@ -19,7 +19,7 @@ echo "#define __TBB_VERSION_STRINGS(N) \\" ...@@ -19,7 +19,7 @@ echo "#define __TBB_VERSION_STRINGS(N) \\"
echo '#N": BUILD_HOST'"\t\t"`hostname -s`" ("`arch`")"'" ENDL \' echo '#N": BUILD_HOST'"\t\t"`hostname -s`" ("`arch`")"'" ENDL \'
echo '#N": BUILD_OS'"\t\t"`sw_vers -productName`" version "`sw_vers -productVersion`'" ENDL \' echo '#N": BUILD_OS'"\t\t"`sw_vers -productName`" version "`sw_vers -productVersion`'" ENDL \'
echo '#N": BUILD_KERNEL'"\t"`uname -v`'" ENDL \' echo '#N": BUILD_KERNEL'"\t"`uname -v`'" ENDL \'
echo '#N": BUILD_CLANG'"\t"`clang --version </dev/null 2>&1 | grep 'version '`'" ENDL \' echo '#N": BUILD_CLANG'"\t"`clang --version | sed -n "1p"`'" ENDL \'
echo '#N": BUILD_XCODE'"\t"`xcodebuild -version </dev/null 2>&1 | grep 'Xcode'`'" ENDL \' echo '#N": BUILD_XCODE'"\t"`xcodebuild -version </dev/null 2>&1 | grep 'Xcode'`'" ENDL \'
[ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \' [ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \'
echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \' echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \'
......
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions> <AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
<TargetEnvironment>X64</TargetEnvironment> <TargetEnvironment>X64</TargetEnvironment>
</Midl> </Midl>
<ClCompile> <ClCompile>
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions> <AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
...@@ -223,7 +223,7 @@ ...@@ -223,7 +223,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <ClCompile>
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions> <AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
...@@ -250,7 +250,7 @@ ...@@ -250,7 +250,7 @@
<TargetEnvironment>X64</TargetEnvironment> <TargetEnvironment>X64</TargetEnvironment>
</Midl> </Midl>
<ClCompile> <ClCompile>
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions> <AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
...@@ -273,7 +273,7 @@ ...@@ -273,7 +273,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">
<ClCompile> <ClCompile>
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions> <AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
...@@ -301,7 +301,7 @@ ...@@ -301,7 +301,7 @@
<TargetEnvironment>X64</TargetEnvironment> <TargetEnvironment>X64</TargetEnvironment>
</Midl> </Midl>
<ClCompile> <ClCompile>
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions> <AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
...@@ -326,7 +326,7 @@ ...@@ -326,7 +326,7 @@