-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Committing Intel(R) TBB 4.4 source code
- Loading branch information
tbbdev
committed
Sep 15, 2016
1 parent
d238c1f
commit a0eae69
Showing
1,465 changed files
with
342,192 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# Copyright 2005-2015 Intel Corporation. All Rights Reserved. | ||
# | ||
# This file is part of Threading Building Blocks. Threading Building Blocks is free software; | ||
# you can redistribute it and/or modify it under the terms of the GNU General Public License | ||
# version 2 as published by the Free Software Foundation. Threading Building Blocks is | ||
# distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | ||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
# See the GNU General Public License for more details. You should have received a copy of | ||
# the GNU General Public License along with Threading Building Blocks; if not, write to the | ||
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
# | ||
# As a special exception, you may use this file as part of a free software library without | ||
# restriction. Specifically, if other files instantiate templates or use macros or inline | ||
# functions from this file, or you compile this file and link it with other files to produce | ||
# an executable, this file does not by itself cause the resulting executable to be covered | ||
# by the GNU General Public License. This exception does not however invalidate any other | ||
# reasons why the executable file might be covered by the GNU General Public License. | ||
|
||
tbb_root?=. | ||
include $(tbb_root)/build/common.inc | ||
.PHONY: default all tbb tbbmalloc tbbproxy test examples | ||
|
||
#workaround for non-depend targets tbb and tbbmalloc which both depend on version_string.ver | ||
#According to documentation, recursively invoked make commands can process their targets in parallel | ||
.NOTPARALLEL: tbb tbbmalloc tbbproxy | ||
|
||
default: tbb tbbmalloc $(if $(use_proxy),tbbproxy) | ||
|
||
all: tbb tbbmalloc tbbproxy test examples | ||
|
||
tbb: mkdir | ||
$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbb cfg=debug | ||
$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbb cfg=release | ||
|
||
tbbmalloc: mkdir | ||
$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=debug malloc | ||
$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc | ||
|
||
tbbproxy: mkdir | ||
$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbproxy cfg=debug tbbproxy | ||
$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbproxy cfg=release tbbproxy | ||
|
||
test: tbb tbbmalloc $(if $(use_proxy),tbbproxy) | ||
-$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=debug malloc_test | ||
-$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.test cfg=debug | ||
-$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc_test | ||
-$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.test cfg=release | ||
|
||
rml: mkdir | ||
$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.rml cfg=debug | ||
$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.rml cfg=release | ||
|
||
|
||
examples: tbb tbbmalloc | ||
$(MAKE) -C examples -r -f Makefile tbb_root=.. release test | ||
|
||
.PHONY: clean clean_examples mkdir info | ||
|
||
clean: clean_examples | ||
$(shell $(RM) $(work_dir)_release$(SLASH)*.* >$(NUL) 2>$(NUL)) | ||
$(shell $(RD) $(work_dir)_release >$(NUL) 2>$(NUL)) | ||
$(shell $(RM) $(work_dir)_debug$(SLASH)*.* >$(NUL) 2>$(NUL)) | ||
$(shell $(RD) $(work_dir)_debug >$(NUL) 2>$(NUL)) | ||
@echo clean done | ||
|
||
clean_examples: | ||
$(shell $(MAKE) -s -i -r -C examples -f Makefile tbb_root=.. clean >$(NUL) 2>$(NUL)) | ||
|
||
mkdir: | ||
$(shell $(MD) "$(work_dir)_release" >$(NUL) 2>$(NUL)) | ||
$(shell $(MD) "$(work_dir)_debug" >$(NUL) 2>$(NUL)) | ||
@echo Created $(work_dir)_release and ..._debug directories | ||
|
||
info: | ||
@echo OS: $(tbb_os) | ||
@echo arch=$(arch) | ||
@echo compiler=$(compiler) | ||
@echo runtime=$(runtime) | ||
@echo tbb_build_prefix=$(tbb_build_prefix) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Intel(R) Threading Building Blocks - README | ||
|
||
See index.html for directions and documentation. | ||
|
||
If source is present (./Makefile and src/ directories), | ||
type 'gmake' in this directory to build and test. | ||
|
||
See examples/index.html for runnable examples and directions. | ||
|
||
See http://threadingbuildingblocks.org for full documentation | ||
and software information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Copyright 2005-2015 Intel Corporation. All Rights Reserved. | ||
# | ||
# This file is part of Threading Building Blocks. Threading Building Blocks is free software; | ||
# you can redistribute it and/or modify it under the terms of the GNU General Public License | ||
# version 2 as published by the Free Software Foundation. Threading Building Blocks is | ||
# distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | ||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
# See the GNU General Public License for more details. You should have received a copy of | ||
# the GNU General Public License along with Threading Building Blocks; if not, write to the | ||
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
# | ||
# As a special exception, you may use this file as part of a free software library without | ||
# restriction. Specifically, if other files instantiate templates or use macros or inline | ||
# functions from this file, or you compile this file and link it with other files to produce | ||
# an executable, this file does not by itself cause the resulting executable to be covered | ||
# by the GNU General Public License. This exception does not however invalidate any other | ||
# reasons why the executable file might be covered by the GNU General Public 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 | ||
DYLIB_KEY = -shared | ||
LIBDL = -ldl | ||
|
||
CPLUS = g++ | ||
CONLY = gcc | ||
LIB_LINK_FLAGS = -shared | ||
LIBS = -lpthread -ldl | ||
C_FLAGS = $(CPLUS_FLAGS) -x c | ||
|
||
ifeq ($(cfg), release) | ||
CPLUS_FLAGS = -O2 -DUSE_PTHREAD -pthread | ||
endif | ||
ifeq ($(cfg), debug) | ||
CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -pthread | ||
endif | ||
|
||
ASM= | ||
ASM_FLAGS= | ||
|
||
TBB_ASM.OBJ= | ||
|
||
ifeq (powerpc,$(arch)) | ||
CPLUS_FLAGS += -maix64 -Wl,-G | ||
LIB_LINK_FLAGS += -maix64 -Wl,-b64 -Wl,-brtl -Wl,-G | ||
endif | ||
|
||
#------------------------------------------------------------------------------ | ||
# Setting assembler data. | ||
#------------------------------------------------------------------------------ | ||
|
||
ASSEMBLY_SOURCE=ibm_aix51 | ||
ifeq (powerpc,$(arch)) | ||
TBB_ASM.OBJ = atomic_support.o | ||
endif | ||
|
||
#------------------------------------------------------------------------------ | ||
# End of setting assembler data. | ||
#------------------------------------------------------------------------------ | ||
|
||
#------------------------------------------------------------------------------ | ||
# Setting tbbmalloc data. | ||
#------------------------------------------------------------------------------ | ||
|
||
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions | ||
|
||
#------------------------------------------------------------------------------ | ||
# End of setting tbbmalloc data. | ||
#------------------------------------------------------------------------------ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# Copyright 2005-2015 Intel Corporation. All Rights Reserved. | ||
# | ||
# This file is part of Threading Building Blocks. Threading Building Blocks is free software; | ||
# you can redistribute it and/or modify it under the terms of the GNU General Public License | ||
# version 2 as published by the Free Software Foundation. Threading Building Blocks is | ||
# distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | ||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
# See the GNU General Public License for more details. You should have received a copy of | ||
# the GNU General Public License along with Threading Building Blocks; if not, write to the | ||
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
# | ||
# As a special exception, you may use this file as part of a free software library without | ||
# restriction. Specifically, if other files instantiate templates or use macros or inline | ||
# functions from this file, or you compile this file and link it with other files to produce | ||
# an executable, this file does not by itself cause the resulting executable to be covered | ||
# by the GNU General Public License. This exception does not however invalidate any other | ||
# reasons why the executable file might be covered by the GNU General Public License. | ||
|
||
ifndef arch | ||
arch:=$(shell uname -p) | ||
export arch | ||
endif | ||
|
||
ifndef runtime | ||
gcc_version:=$(shell gcc -dumpversion) | ||
os_version:=$(shell uname -r) | ||
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//') | ||
export runtime:=cc$(gcc_version)_kernel$(os_kernel_version) | ||
endif | ||
|
||
native_compiler := gcc | ||
export compiler ?= gcc | ||
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_aix.sh $(VERSION_FLAGS) >version_string.ver | ||
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh | ||
|
||
ifdef LIBPATH | ||
export LIBPATH := .:$(LIBPATH) | ||
else | ||
export LIBPATH := . | ||
endif | ||
|
||
####### Build settings ######################################################## | ||
|
||
OBJ = o | ||
DLL = 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
# Copyright 2005-2015 Intel Corporation. All Rights Reserved. | ||
# | ||
# This file is part of Threading Building Blocks. Threading Building Blocks is free software; | ||
# you can redistribute it and/or modify it under the terms of the GNU General Public License | ||
# version 2 as published by the Free Software Foundation. Threading Building Blocks is | ||
# distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | ||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
# See the GNU General Public License for more details. You should have received a copy of | ||
# the GNU General Public License along with Threading Building Blocks; if not, write to the | ||
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
# | ||
# As a special exception, you may use this file as part of a free software library without | ||
# restriction. Specifically, if other files instantiate templates or use macros or inline | ||
# functions from this file, or you compile this file and link it with other files to produce | ||
# an executable, this file does not by itself cause the resulting executable to be covered | ||
# by the GNU General Public License. This exception does not however invalidate any other | ||
# reasons why the executable file might be covered by the GNU General Public 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 -lrt | ||
LINK_FLAGS = -Wl,-rpath-link=. -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 | ||
|
||
ifeq (libc++,$(stdlib)) | ||
CPLUS_FLAGS += -stdlib=libc++ | ||
LIB_LINK_FLAGS += -stdlib=libc++ | ||
endif | ||
|
||
CPP11_FLAGS = -std=c++11 -D_TBB_CPP0X | ||
|
||
ifneq (00,$(lambdas)$(cpp0x)) | ||
CXX_ONLY_FLAGS += $(CPP11_FLAGS) | ||
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. | ||
#------------------------------------------------------------------------------ |
Oops, something went wrong.