Skip to content

Commit

Permalink
Committing TBB 2019 source code
Browse files Browse the repository at this point in the history
  • Loading branch information
tbbdev committed Aug 29, 2018
1 parent 615bb97 commit ab775e4
Show file tree
Hide file tree
Showing 633 changed files with 3,090 additions and 47,877 deletions.
33 changes: 33 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,39 @@
The list of most significant changes made over time in
Intel(R) Threading Building Blocks (Intel(R) TBB).

Intel TBB 2019
TBB_INTERFACE_VERSION == 11000

Changes (w.r.t. Intel TBB 2018 Update 5):

- Lightweight policy for functional nodes in the flow graph is now
a fully supported feature.
- Reservation support in flow::write_once_node and flow::overwrite_node
is now a fully supported feature.
- Support for Flow Graph Analyzer and improvements for
Intel(R) VTune(TM) Amplifier become a regular feature enabled by
TBB_USE_THREADING_TOOLS macro.
- Added support for std::new_handler in the replacement functions for
global operator new.
- Added C++14 constructors to concurrent unordered containers.
- Added tbb::counting_iterator and tbb::zip_iterator.
- Fixed multiple -Wextra warnings in TBB source files.

Preview Features:

- Extracting nodes from a flow graph is deprecated and disabled by
default. To enable, use TBB_DEPRECATED_FLOW_NODE_EXTRACTION macro.

Changes affecting backward compatibility:

- Due to internal changes in the flow graph classes, recompilation is
recommended for all binaries that use the flow graph.

Open-source contributions integrated:

- Added support for OpenBSD by Anthony J. Bentley.

------------------------------------------------------------------------
Intel TBB 2018 Update 5
TBB_INTERFACE_VERSION == 10005

Expand Down
1,327 changes: 1,327 additions & 0 deletions Doxyfile

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Intel(R) Threading Building Blocks 2018 Update 5
[![Stable release](https://img.shields.io/badge/version-2018_U5-green.svg)](https://github.com/01org/tbb/releases/tag/2018_U5)
# Intel(R) Threading Building Blocks 2019
[![Stable release](https://img.shields.io/badge/version-2019-green.svg)](https://github.com/01org/tbb/releases/tag/2019)
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)

Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that take
Expand Down
110 changes: 110 additions & 0 deletions build/BSD.clang.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Copyright (c) 2005-2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
#
#

COMPILE_ONLY = -c -MMD
PREPROC_ONLY = -E -x c++
INCLUDE_KEY = -I
DEFINE_KEY = -D
OUTPUT_KEY = -o #
OUTPUTOBJ_KEY = -o #
PIC_KEY = -fPIC
WARNING_AS_ERROR_KEY = -Werror
WARNING_KEY = -Wall
TEST_WARNING_KEY = -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor -Wno-dangling-else
DYLIB_KEY = -shared
EXPORT_KEY = -Wl,--version-script,
LIBDL =

CPLUS = clang++
CONLY = clang
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
LIBS += -lpthread
LINK_FLAGS = -Wl,-rpath-link=. -Wl,-rpath=. -rdynamic
C_FLAGS = $(CPLUS_FLAGS)

ifeq ($(cfg), release)
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
endif
ifeq ($(cfg), debug)
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
endif

ifneq (,$(stdlib))
CPLUS_FLAGS += -stdlib=$(stdlib)
LIB_LINK_FLAGS += -stdlib=$(stdlib)
endif

TBB_ASM.OBJ=
MALLOC_ASM.OBJ=

ifeq (intel64,$(arch))
ITT_NOTIFY = -DDO_ITT_NOTIFY
CPLUS_FLAGS += -m64
LIB_LINK_FLAGS += -m64
endif

ifeq (ia32,$(arch))
ITT_NOTIFY = -DDO_ITT_NOTIFY
CPLUS_FLAGS += -m32 -march=pentium4
LIB_LINK_FLAGS += -m32
endif

ifeq (ppc64,$(arch))
CPLUS_FLAGS += -m64
LIB_LINK_FLAGS += -m64
endif

ifeq (ppc32,$(arch))
CPLUS_FLAGS += -m32
LIB_LINK_FLAGS += -m32
endif

ifeq (bg,$(arch))
CPLUS = bgclang++
CONLY = bgclang
endif

#------------------------------------------------------------------------------
# Setting assembler data.
#------------------------------------------------------------------------------
ASM = as
ifeq (intel64,$(arch))
ASM_FLAGS += --64
endif
ifeq (ia32,$(arch))
ASM_FLAGS += --32
endif
ifeq ($(cfg),debug)
ASM_FLAGS += -g
endif

ASSEMBLY_SOURCE=$(arch)-gas
#------------------------------------------------------------------------------
# End of setting assembler data.
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# Setting tbbmalloc data.
#------------------------------------------------------------------------------

M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions

#------------------------------------------------------------------------------
# End of setting tbbmalloc data.
#------------------------------------------------------------------------------
74 changes: 74 additions & 0 deletions build/BSD.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Copyright (c) 2005-2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
#
#

ifndef arch
ifeq ($(shell uname -m),i386)
export arch:=ia32
endif
ifeq ($(shell uname -m),ia64)
export arch:=ia64
endif
ifeq ($(shell uname -m),amd64)
export arch:=intel64
endif
endif

ifndef runtime
clang_version:=$(shell clang -v 2>&1 | grep version | sed "s/.*version \([0-9]*\.[0-9]*\).*/\1/")
os_version:=$(shell uname -r)
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
export runtime:=cc$(clang_version)_kernel$(os_kernel_version)
endif

native_compiler := clang
export compiler ?= clang
debugger ?= gdb

CMD=$(SHELL) -c
CWD=$(shell pwd)
RM?=rm -f
RD?=rmdir
MD?=mkdir -p
NUL= /dev/null
SLASH=/
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh

ifdef LD_LIBRARY_PATH
export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
else
export LD_LIBRARY_PATH := .
endif

####### Build settings ########################################################

OBJ = o
DLL = so
LIBEXT=so

TBB.LST =
TBB.DEF =
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
TBB.LIB = $(TBB.DLL)
LINK_TBB.LIB = $(TBB.LIB)

MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
MALLOC.LIB = $(MALLOC.DLL)
LINK_MALLOC.LIB = $(MALLOC.LIB)

TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
93 changes: 2 additions & 91 deletions build/FreeBSD.clang.inc
Original file line number Diff line number Diff line change
Expand Up @@ -16,95 +16,6 @@
#
#

COMPILE_ONLY = -c -MMD
PREPROC_ONLY = -E -x c++
INCLUDE_KEY = -I
DEFINE_KEY = -D
OUTPUT_KEY = -o #
OUTPUTOBJ_KEY = -o #
PIC_KEY = -fPIC
WARNING_AS_ERROR_KEY = -Werror
WARNING_KEY = -Wall
TEST_WARNING_KEY = -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor -Wno-dangling-else
DYLIB_KEY = -shared
EXPORT_KEY = -Wl,--version-script,
LIBDL =
include $(tbb_root)/build/BSD.clang.inc

CPLUS = clang++
CONLY = clang
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
LIBS += -lpthread -lrt
LINK_FLAGS = -Wl,-rpath-link=. -Wl,-rpath=. -rdynamic
C_FLAGS = $(CPLUS_FLAGS)

ifeq ($(cfg), release)
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
endif
ifeq ($(cfg), debug)
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
endif

ifneq (,$(stdlib))
CPLUS_FLAGS += -stdlib=$(stdlib)
LIB_LINK_FLAGS += -stdlib=$(stdlib)
endif

TBB_ASM.OBJ=
MALLOC_ASM.OBJ=

ifeq (intel64,$(arch))
ITT_NOTIFY = -DDO_ITT_NOTIFY
CPLUS_FLAGS += -m64
LIB_LINK_FLAGS += -m64
endif

ifeq (ia32,$(arch))
ITT_NOTIFY = -DDO_ITT_NOTIFY
CPLUS_FLAGS += -m32 -march=pentium4
LIB_LINK_FLAGS += -m32
endif

ifeq (ppc64,$(arch))
CPLUS_FLAGS += -m64
LIB_LINK_FLAGS += -m64
endif

ifeq (ppc32,$(arch))
CPLUS_FLAGS += -m32
LIB_LINK_FLAGS += -m32
endif

ifeq (bg,$(arch))
CPLUS = bgclang++
CONLY = bgclang
endif

#------------------------------------------------------------------------------
# Setting assembler data.
#------------------------------------------------------------------------------
ASM = as
ifeq (intel64,$(arch))
ASM_FLAGS += --64
endif
ifeq (ia32,$(arch))
ASM_FLAGS += --32
endif
ifeq ($(cfg),debug)
ASM_FLAGS += -g
endif

ASSEMBLY_SOURCE=$(arch)-gas
#------------------------------------------------------------------------------
# End of setting assembler data.
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# Setting tbbmalloc data.
#------------------------------------------------------------------------------

M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions

#------------------------------------------------------------------------------
# End of setting tbbmalloc data.
#------------------------------------------------------------------------------
LIBS += -lrt
57 changes: 1 addition & 56 deletions build/FreeBSD.inc
Original file line number Diff line number Diff line change
Expand Up @@ -16,59 +16,4 @@
#
#

ifndef arch
ifeq ($(shell uname -m),i386)
export arch:=ia32
endif
ifeq ($(shell uname -m),ia64)
export arch:=ia64
endif
ifeq ($(shell uname -m),amd64)
export arch:=intel64
endif
endif

ifndef runtime
clang_version:=$(shell clang -v 2>&1 | grep version | sed "s/.*version \([0-9]*\.[0-9]*\).*/\1/")
os_version:=$(shell uname -r)
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
export runtime:=cc$(clang_version)_kernel$(os_kernel_version)
endif

native_compiler := clang
export compiler ?= clang
debugger ?= gdb

CMD=$(SHELL) -c
CWD=$(shell pwd)
RM?=rm -f
RD?=rmdir
MD?=mkdir -p
NUL= /dev/null
SLASH=/
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh

ifdef LD_LIBRARY_PATH
export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
else
export LD_LIBRARY_PATH := .
endif

####### Build settings ########################################################

OBJ = o
DLL = so
LIBEXT=so

TBB.LST =
TBB.DEF =
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
TBB.LIB = $(TBB.DLL)
LINK_TBB.LIB = $(TBB.LIB)

MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
MALLOC.LIB = $(MALLOC.DLL)
LINK_MALLOC.LIB = $(MALLOC.LIB)

TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
include $(tbb_root)/build/BSD.inc
Loading

0 comments on commit ab775e4

Please sign in to comment.