Skip to content

Commit 4233fef

Browse files
committed
Committing TBB 2019 Update 7 source code
1 parent cc2c04e commit 4233fef

File tree

73 files changed

+5965
-2299
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+5965
-2299
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ Thumbs.db
7171
/rules.ninja
7272
*~
7373
.emacs.desktop
74+
.tags
7475

7576
# Build system generated files #
7677
################################

CHANGES

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,42 @@
22
The list of most significant changes made over time in
33
Intel(R) Threading Building Blocks (Intel(R) TBB).
44

5+
Intel TBB 2019 Update 7
6+
TBB_INTERFACE_VERSION == 11007
7+
8+
Changes (w.r.t. Intel TBB 2019 Update 6):
9+
10+
- Added TBBMALLOC_SET_HUGE_SIZE_THRESHOLD parameter to set the lower
11+
bound for allocations that are not released back to OS unless
12+
a cleanup is explicitly requested.
13+
- Added zip_iterator::base() method to get the tuple of underlying
14+
iterators.
15+
- Improved async_node to never block a thread that sends a message
16+
through its gateway.
17+
- Extended decrement port of the tbb::flow::limiter_node to accept
18+
messages of integral types.
19+
- Added support of Windows* to the CMake module TBBInstallConfig.
20+
- Added packaging of CMake configuration files to TBB packages built
21+
using build/build.py script
22+
(https://github.com/intel/tbb/issues/141).
23+
24+
Changes affecting backward compatibility:
25+
26+
- Removed the number_of_decrement_predecessors parameter from the
27+
constructor of flow::limiter_node. To allow its usage, set
28+
TBB_DEPRECATED_LIMITER_NODE_CONSTRUCTOR macro to 1.
29+
30+
Preview Features:
31+
32+
- Added ordered associative containers:
33+
concurrent_{map,multimap,set,multiset} (requires C++11).
34+
35+
Open-source contributions integrated:
36+
37+
- Fixed makefiles to properly obtain the GCC version for GCC 7
38+
and later (https://github.com/intel/tbb/pull/147) by Timmmm.
39+
40+
------------------------------------------------------------------------
541
Intel TBB 2019 Update 6
642
TBB_INTERFACE_VERSION == 11006
743

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# Threading Building Blocks 2019 Update 5
2-
[![Stable release](https://img.shields.io/badge/version-2019_U6-green.svg)](https://github.com/01org/tbb/releases/tag/2019_U6)
1+
# Threading Building Blocks 2019 Update 7
2+
[![Stable release](https://img.shields.io/badge/version-2019_U7-green.svg)](https://github.com/01org/tbb/releases/tag/2019_U7)
33
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)
44

55
Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take

build/AIX.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ifndef arch
1818
endif
1919

2020
ifndef runtime
21-
gcc_version:=$(shell gcc -dumpversion)
21+
gcc_version:=$(shell gcc -dumpfullversion -dumpversion)
2222
os_version:=$(shell uname -r)
2323
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
2424
export runtime:=cc$(gcc_version)_kernel$(os_kernel_version)

build/FreeBSD.gcc.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ C_FLAGS = $(CPLUS_FLAGS)
3232

3333
# gcc 6.0 and later have -flifetime-dse option that controls
3434
# elimination of stores done outside the object lifetime
35-
ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
35+
ifneq (,$(shell gcc -dumpfullversion -dumpversion | egrep "^([6-9])"))
3636
# keep pre-contruction stores for zero initialization
3737
DSE_KEY = -flifetime-dse=1
3838
endif

build/SunOS.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ ifndef arch
2727
endif
2828

2929
ifndef runtime
30-
gcc_version:=$(shell gcc -dumpversion)
30+
gcc_version:=$(shell gcc -dumpfullversion -dumpversion)
3131
os_version:=$(shell uname -r)
3232
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
3333
export runtime:=cc$(gcc_version)_kernel$(os_kernel_version)

build/build.py

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,20 @@
3636
default_prefix = jp(default_prefix, 'Library') # conda-specific by default on Windows
3737

3838
parser = argparse.ArgumentParser()
39-
parser.add_argument('--tbbroot', default='.', help='Take Intel TBB from here')
40-
parser.add_argument('--prefix', default=default_prefix, help='Prefix')
41-
parser.add_argument('--prebuilt', default=[], action='append', help='Directories to find prebuilt files')
42-
parser.add_argument('--no-rebuild', default=False, action='store_true', help='do not rebuild')
43-
parser.add_argument('--install', default=False, action='store_true', help='install all')
44-
parser.add_argument('--install-libs', default=False, action='store_true', help='install libs')
45-
parser.add_argument('--install-devel', default=False, action='store_true', help='install devel')
46-
parser.add_argument('--install-docs', default=False, action='store_true', help='install docs')
47-
parser.add_argument('--install-python',default=False, action='store_true', help='install python module')
48-
parser.add_argument('--make-tool', default='make', help='Use different make command instead')
49-
parser.add_argument('--copy-tool', default=None, help='Use this command for copying ($ tool file dest-dir)')
50-
parser.add_argument('--build-args', default="", help='specify extra build args')
51-
parser.add_argument('--build-prefix', default='local', help='build dir prefix')
39+
parser.add_argument('--tbbroot', default='.', help='Take Intel TBB from here')
40+
parser.add_argument('--prefix', default=default_prefix, help='Prefix')
41+
parser.add_argument('--prebuilt', default=[], action='append', help='Directories to find prebuilt files')
42+
parser.add_argument('--no-rebuild', default=False, action='store_true', help='do not rebuild')
43+
parser.add_argument('--install', default=False, action='store_true', help='install all')
44+
parser.add_argument('--install-libs', default=False, action='store_true', help='install libs')
45+
parser.add_argument('--install-devel', default=False, action='store_true', help='install devel')
46+
parser.add_argument('--install-docs', default=False, action='store_true', help='install docs')
47+
parser.add_argument('--install-python', default=False, action='store_true', help='install python module')
48+
parser.add_argument('--make-tool', default='make', help='Use different make command instead')
49+
parser.add_argument('--copy-tool', default=None, help='Use this command for copying ($ tool file dest-dir)')
50+
parser.add_argument('--build-args', default="", help='specify extra build args')
51+
parser.add_argument('--build-prefix', default='local', help='build dir prefix')
52+
parser.add_argument('--cmake-dir', help='directory to install CMake configuraion files. Default: <prefix>/lib/cmake/tbb')
5253
if is_win:
5354
parser.add_argument('--msbuild', default=False, action='store_true', help='Use msbuild')
5455
parser.add_argument('--vs', default="2012", help='select VS version for build')
@@ -71,10 +72,12 @@ def custom_cp(src, dst):
7172
else:
7273
install_cp = shutil.copy
7374

74-
bin_dir = jp(args.prefix, "bin")
75-
lib_dir = jp(args.prefix, "lib")
76-
inc_dir = jp(args.prefix, 'include')
77-
doc_dir = jp(args.prefix, 'share', 'doc', 'tbb')
75+
bin_dir = jp(args.prefix, "bin")
76+
lib_dir = jp(args.prefix, "lib")
77+
inc_dir = jp(args.prefix, 'include')
78+
doc_dir = jp(args.prefix, 'share', 'doc', 'tbb')
79+
cmake_dir = jp(args.prefix, "lib", "cmake", "tbb") if args.cmake_dir is None else args.cmake_dir
80+
7881
if is_win:
7982
os.environ["OS"] = "Windows_NT" # make sure TBB will interpret it corretly
8083
libext = '.dll'
@@ -151,6 +154,18 @@ def append_files(names, dst, paths=release_dirs):
151154
files = [f for f in filenames if not '.html' in f]
152155
append_files(files, jp(inc_dir, rootdir.split('include')[1][1:]), paths=(rootdir,))
153156

157+
# Preparing CMake configuration files
158+
cmake_build_dir = jp(args.tbbroot, 'build', args.build_prefix+'_release', 'cmake_configs')
159+
assert system('cmake -DINSTALL_DIR=%s -DSYSTEM_NAME=%s -DTBB_VERSION_FILE=%s -DINC_REL_PATH=%s -DLIB_REL_PATH=%s -DBIN_REL_PATH=%s -P %s' % \
160+
(cmake_build_dir,
161+
platform.system(),
162+
jp(args.tbbroot, 'include', 'tbb', 'tbb_stddef.h'),
163+
os.path.relpath(inc_dir, cmake_dir),
164+
os.path.relpath(lib_dir, cmake_dir),
165+
os.path.relpath(bin_dir, cmake_dir),
166+
jp(args.tbbroot, 'cmake', 'tbb_config_installer.cmake'))) == 0
167+
append_files(['TBBConfig.cmake', 'TBBConfigVersion.cmake'], cmake_dir, paths=[cmake_build_dir])
168+
154169
if args.install_python: # RML part
155170
irml_dir = jp(args.tbbroot, 'build', args.build_prefix+'_release')
156171
run_make('-C src tbb_build_prefix=%s %s python_rml'% (args.build_prefix, args.build_args))

build/detect.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function doWork() {
5151
WScript.Echo("unknown");
5252
}
5353
} else {
54-
tmpExec = WshShell.Exec(compilerPath + " -dumpversion");
54+
tmpExec = WshShell.Exec(compilerPath + " -dumpfullversion -dumpversion");
5555
var gccVersion = tmpExec.StdOut.ReadLine();
5656
if (WScript.Arguments(0) == "/runtime") {
5757
WScript.Echo("mingw" + gccVersion);

build/linux.gcc.inc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,30 +36,30 @@ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
3636
C_FLAGS = $(CPLUS_FLAGS)
3737

3838
# gcc 4.2 and higher support OpenMP
39-
ifneq (,$(shell $(CONLY) -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
39+
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
4040
OPENMP_FLAG = -fopenmp
4141
endif
4242

4343
# gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
44-
ifneq (,$(shell $(CONLY) -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
44+
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
4545
RTM_KEY = -mrtm
4646
endif
4747

4848
# gcc 4.0 and later have -Wextra that is used by some our customers.
49-
ifneq (,$(shell $(CONLY) -dumpversion | egrep "^([4-9])"))
49+
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([4-9])"))
5050
WARNING_KEY += -Wextra
5151
endif
5252

5353
# gcc 5.0 and later have -Wsuggest-override and -Wno-sized-deallocation options
54-
ifneq (,$(shell $(CONLY) -dumpversion | egrep "^([5-9])"))
54+
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([5-9])"))
5555
# enable -Wsuggest-override via a pre-included header in order to limit to C++11 and above
5656
INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h
5757
WARNING_SUPPRESS += -Wno-sized-deallocation
5858
endif
5959

6060
# gcc 6.0 and later have -flifetime-dse option that controls
6161
# elimination of stores done outside the object lifetime
62-
ifneq (,$(shell $(CONLY) -dumpversion | egrep "^([6-9])"))
62+
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9])"))
6363
# keep pre-contruction stores for zero initialization
6464
DSE_KEY = -flifetime-dse=1
6565
endif

build/linux.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ ifndef arch
5555
endif
5656

5757
ifndef runtime
58-
export gcc_version:=$(shell gcc -dumpversion)
58+
export gcc_version:=$(shell gcc -dumpfullversion -dumpversion)
5959
os_version:=$(shell uname -r)
6060
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
6161
export os_glibc_version_full:=$(shell getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //')

0 commit comments

Comments
 (0)