59 changed files with 7084 additions and 0 deletions
-
85resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.gcc.inc
-
76resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.inc
-
95resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.gcc.inc
-
84resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.inc
-
161resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.rml
-
134resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbb
-
218resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbmalloc
-
117resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbproxy
-
387resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.test
-
102resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.gcc.inc
-
93resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.inc
-
100resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.suncc.inc
-
144resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.gcc.inc
-
77resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.inc
-
78resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.inc
-
164resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.launcher.sh
-
87resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.macos.inc
-
86resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.windows.inc
-
74resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/big_iron.inc
-
7resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/codecov.txt
-
141resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common.inc
-
129resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common_rules.inc
-
183resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/detect.js
-
77resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.bat
-
81resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.sh
-
242resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/index.html
-
145resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.gcc.inc
-
126resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.icc.inc
-
141resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.inc
-
114resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.xl.inc
-
120resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.clang.inc
-
109resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.gcc.inc
-
103resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.icc.inc
-
105resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.inc
-
90resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.icc.inc
-
47resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.inc
-
111resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.launcher.sh
-
170resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.offload.inc
-
1resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/suncc.map.pause
-
51resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.bat
-
60resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.sh
-
42resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_aix.sh
-
46resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_android.sh
-
42resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_linux.sh
-
39resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_macos.sh
-
39resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_sunos.sh
-
136resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_windows.js
-
30resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/index.html
-
84resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/makefile.sln
-
538resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbb.vcproj
-
418resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc.vcproj
-
214resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc_proxy.vcproj
-
1resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/version_string.ver
-
138resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.cl.inc
-
145resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.gcc.inc
-
173resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.icl.inc
-
111resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.inc
-
93resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.cl.inc
-
80resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.inc
@ -0,0 +1,85 @@ |
|||||
|
# Copyright 2005-2013 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 |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
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 -fno-schedule-insns2 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,76 @@ |
|||||
|
# Copyright 2005-2013 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 -v 2>&1 | grep 'gcc version' | sed -e 's/^gcc version //' | sed -e 's/ .*$$//') |
||||
|
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 $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >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) |
||||
|
|
||||
|
TBB_NOSTRICT=1 |
||||
|
|
||||
|
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs) |
@ -0,0 +1,95 @@ |
|||||
|
# Copyright 2005-2013 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 |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = g++ |
||||
|
CONLY = gcc |
||||
|
LIB_LINK_FLAGS = -shared |
||||
|
LIBS = -lpthread |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -O2 -DUSE_PTHREAD |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD |
||||
|
endif |
||||
|
|
||||
|
ASM= |
||||
|
ASM_FLAGS= |
||||
|
|
||||
|
TBB_ASM.OBJ= |
||||
|
MALLOC_ASM.OBJ= |
||||
|
|
||||
|
ifeq (ia64,$(arch)) |
||||
|
# Position-independent code (PIC) is a must on IA-64, even for regular (not shared) executables |
||||
|
CPLUS_FLAGS += $(PIC_KEY) |
||||
|
endif |
||||
|
|
||||
|
ifeq (intel64,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
ASSEMBLY_SOURCE=$(arch)-gas |
||||
|
ifeq (ia64,$(arch)) |
||||
|
ASM=as |
||||
|
TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o |
||||
|
MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o |
||||
|
endif |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions -fno-schedule-insns2 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,84 @@ |
|||||
|
# Copyright 2005-2013 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 |
||||
|
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 |
||||
|
gcc_version:=$(shell gcc -v 2>&1 | grep 'gcc version' | sed -e 's/^gcc version //' | sed -e 's/ .*$$//') |
||||
|
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_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >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) |
||||
|
|
||||
|
TBB_NOSTRICT=1 |
||||
|
|
||||
|
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs) |
@ -0,0 +1,161 @@ |
|||||
|
# Copyright 2005-2013 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 ?= $(TBBROOT) |
||||
|
BUILDING_PHASE=1 |
||||
|
TEST_RESOURCE = $(RML.RES) |
||||
|
include $(tbb_root)/build/common.inc |
||||
|
DEBUG_SUFFIX=$(findstring _debug,_$(cfg)) |
||||
|
|
||||
|
# default target
|
||||
|
default_rml: rml rml_test |
||||
|
|
||||
|
RML_ROOT ?= $(tbb_root)/src/rml |
||||
|
RML_SERVER_ROOT = $(RML_ROOT)/server |
||||
|
|
||||
|
VPATH = $(tbb_root)/src/tbb $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) |
||||
|
VPATH += $(RML_ROOT)/server $(RML_ROOT)/client $(RML_ROOT)/test $(tbb_root)/src/test |
||||
|
|
||||
|
include $(tbb_root)/build/common_rules.inc |
||||
|
|
||||
|
#--------------------------------------------------------------------------
|
||||
|
# Define rules for making the RML server shared library and client objects.
|
||||
|
#--------------------------------------------------------------------------
|
||||
|
|
||||
|
# Object files that make up RML server
|
||||
|
RML_SERVER.OBJ = rml_server.$(OBJ) |
||||
|
|
||||
|
# Object files that RML clients need
|
||||
|
RML_TBB_CLIENT.OBJ ?= rml_tbb.$(OBJ) dynamic_link_rml.$(OBJ) |
||||
|
RML_OMP_CLIENT.OBJ ?= rml_omp.$(OBJ) omp_dynamic_link.$(OBJ) |
||||
|
|
||||
|
RML.OBJ = $(RML_SERVER.OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) |
||||
|
ifeq (windows,$(tbb_os)) |
||||
|
RML_ASM.OBJ = $(if $(findstring intel64,$(arch)),$(TBB_ASM.OBJ)) |
||||
|
endif |
||||
|
ifeq (linux,$(tbb_os)) |
||||
|
RML_ASM.OBJ = $(if $(findstring ia64,$(arch)),$(TBB_ASM.OBJ)) |
||||
|
endif |
||||
|
|
||||
|
RML_TBB_DEP= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ) concurrent_vector_rml.$(OBJ) semaphore_rml.$(OBJ) tbb_misc_rml.$(OBJ) tbb_misc_ex_rml.$(OBJ) |
||||
|
TBB_DEP_NON_RML_TEST?= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ) $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ) tbb_misc_ex_rml.$(OBJ) |
||||
|
ifeq ($(cfg),debug) |
||||
|
RML_TBB_DEP+= spin_mutex_rml.$(OBJ) |
||||
|
TBB_DEP_RML_TEST?= $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ) |
||||
|
else |
||||
|
TBB_DEP_RML_TEST?= $(RML_ASM.OBJ) |
||||
|
endif |
||||
|
LIBS += $(LIBDL) |
||||
|
|
||||
|
INCLUDES += $(INCLUDE_KEY)$(RML_ROOT)/include $(INCLUDE_KEY). |
||||
|
T_INCLUDES = $(INCLUDES) $(INCLUDE_KEY)$(tbb_root)/src/test $(INCLUDE_KEY)$(RML_SERVER_ROOT) |
||||
|
|
||||
|
# Suppress superfluous warnings for RML compilation
|
||||
|
R_CPLUS_FLAGS = $(subst DO_ITT_NOTIFY,DO_ITT_NOTIFY=0,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS) \
|
||||
|
$(DEFINE_KEY)TBB_USE_THREADING_TOOLS=0 $(DEFINE_KEY)__TBB_RML_STATIC=1 $(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1 |
||||
|
|
||||
|
%.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(R_CPLUS_FLAGS) $(PIC_KEY) $(INCLUDES) $< |
||||
|
|
||||
|
ifeq (linux,$(tbb_os)) |
||||
|
omp_dynamic_link.$(OBJ): CPLUS_FLAGS+=-fno-exceptions |
||||
|
endif |
||||
|
|
||||
|
tbb_misc_rml.$(OBJ): version_string.ver |
||||
|
|
||||
|
RML_TEST.OBJ = test_job_automaton.$(OBJ) test_thread_monitor.$(OBJ) test_rml_tbb.$(OBJ) test_rml_omp.$(OBJ) test_rml_mixed.$(OBJ) |
||||
|
|
||||
|
$(RML_TBB_DEP): %_rml.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(R_CPLUS_FLAGS) $(PIC_KEY) $(INCLUDES) $< |
||||
|
|
||||
|
$(RML_TEST.OBJ): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(R_CPLUS_FLAGS) $(PIC_KEY) $(T_INCLUDES) $< |
||||
|
|
||||
|
ifneq (,$(RML.DEF)) |
||||
|
rml.def: $(RML.DEF) |
||||
|
$(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@ |
||||
|
|
||||
|
LIB_LINK_FLAGS += $(EXPORT_KEY)rml.def |
||||
|
$(RML.DLL): rml.def |
||||
|
endif |
||||
|
|
||||
|
$(RML.DLL): BUILDING_LIBRARY = $(RML.DLL) |
||||
|
$(RML.DLL): $(RML_TBB_DEP) $(RML_SERVER.OBJ) $(RML.RES) $(RML_NO_VERSION.DLL) $(RML_ASM.OBJ) |
||||
|
$(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(RML.DLL) $(RML_SERVER.OBJ) $(RML_TBB_DEP) $(RML_ASM.OBJ) $(RML.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS) |
||||
|
|
||||
|
ifneq (,$(RML_NO_VERSION.DLL)) |
||||
|
$(RML_NO_VERSION.DLL): |
||||
|
echo "INPUT ($(RML.DLL))" > $(RML_NO_VERSION.DLL) |
||||
|
endif |
||||
|
|
||||
|
rml: $(RML.DLL) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# End of rules for making the RML server shared library
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# Define rules for making the RML unit tests
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
add_debug=$(basename $(1))_debug$(suffix $(1)) |
||||
|
cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1)) |
||||
|
|
||||
|
RML_TESTS = test_job_automaton.$(TEST_EXT) test_thread_monitor.$(TEST_EXT) test_rml_tbb.$(TEST_EXT) test_rml_omp.$(TEST_EXT) test_rml_mixed.$(TEST_EXT) test_rml_omp_c_linkage.$(TEST_EXT) |
||||
|
|
||||
|
test_rml_tbb.$(TEST_EXT): test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
test_rml_omp.$(TEST_EXT): test_rml_omp.$(OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_NON_RML_TEST) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_omp.$(OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
test_rml_mixed.$(TEST_EXT): test_rml_mixed.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_RML_TEST) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_mixed.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
rml_omp_stub.$(OBJ): rml_omp_stub.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(WARNING_SUPPRESS) $(T_INCLUDES) $(PIC_KEY) $< |
||||
|
|
||||
|
test_rml_omp_c_linkage.$(TEST_EXT): test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ) |
||||
|
$(CONLY) $(C_FLAGS) $(OUTPUT_KEY)$@ test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
test_%.$(TEST_EXT): test_%.$(OBJ) $(TBB_DEP_NON_RML_TEST) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
### run_cmd is usually empty
|
||||
|
rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS) |
||||
|
$(run_cmd) ./test_job_automaton.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_thread_monitor.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_rml_tbb.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_rml_omp.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_rml_mixed.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_rml_omp_c_linkage.$(TEST_EXT) $(args) |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# End of rules for making the TBBMalloc unit tests
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
# Include automatically generated dependences
|
||||
|
-include *.d |
@ -0,0 +1,134 @@ |
|||||
|
# Copyright 2005-2013 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.
|
||||
|
|
||||
|
#------------------------------------------------------------------------------
|
||||
|
# Define rules for making the TBB shared library.
|
||||
|
#------------------------------------------------------------------------------
|
||||
|
|
||||
|
tbb_root ?= "$(TBBROOT)" |
||||
|
BUILDING_PHASE=1 |
||||
|
include $(tbb_root)/build/common.inc |
||||
|
DEBUG_SUFFIX=$(findstring _debug,_$(cfg)) |
||||
|
|
||||
|
#------------------------------------------------------------
|
||||
|
# Define static pattern rules dealing with .cpp source files
|
||||
|
#------------------------------------------------------------
|
||||
|
$(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) os=$(tbb_os) runtime=$(runtime)) |
||||
|
|
||||
|
default_tbb: $(TBB.DLL) |
||||
|
.PHONY: default_tbb tbbvars clean |
||||
|
.PRECIOUS: %.$(OBJ) |
||||
|
|
||||
|
VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/old $(tbb_root)/src/rml/client |
||||
|
|
||||
|
CPLUS_FLAGS += $(PIC_KEY) $(DEFINE_KEY)__TBB_BUILD=1 |
||||
|
|
||||
|
# A template to switch off strict-ansi for certain compilation units
|
||||
|
# ifeq (1,$(TBB_NOSTRICT))
|
||||
|
# KNOWN_NOSTRICT = <object-file-name>
|
||||
|
# endif
|
||||
|
|
||||
|
# suppress warnings for build of itt_notify by GCC3
|
||||
|
ifneq (,$(findstring gcc_cc3., $(compiler)_$(runtime))) |
||||
|
KNOWN_WARNINGS += itt_notify.$(OBJ) |
||||
|
endif |
||||
|
|
||||
|
# Object files (that were compiled from C++ code) that gmake up TBB
|
||||
|
TBB_CPLUS.OBJ = concurrent_hash_map.$(OBJ) \
|
||||
|
concurrent_queue.$(OBJ) \
|
||||
|
concurrent_vector.$(OBJ) \
|
||||
|
dynamic_link.$(OBJ) \
|
||||
|
itt_notify.$(OBJ) \
|
||||
|
cache_aligned_allocator.$(OBJ) \
|
||||
|
pipeline.$(OBJ) \
|
||||
|
queuing_mutex.$(OBJ) \
|
||||
|
queuing_rw_mutex.$(OBJ) \
|
||||
|
reader_writer_lock.$(OBJ) \
|
||||
|
spin_rw_mutex.$(OBJ) \
|
||||
|
spin_mutex.$(OBJ) \
|
||||
|
critical_section.$(OBJ) \
|
||||
|
task.$(OBJ) \
|
||||
|
tbb_misc.$(OBJ) \
|
||||
|
tbb_misc_ex.$(OBJ) \
|
||||
|
mutex.$(OBJ) \
|
||||
|
recursive_mutex.$(OBJ) \
|
||||
|
condition_variable.$(OBJ) \
|
||||
|
tbb_thread.$(OBJ) \
|
||||
|
concurrent_monitor.$(OBJ) \
|
||||
|
semaphore.$(OBJ) \
|
||||
|
private_server.$(OBJ) \
|
||||
|
rml_tbb.$(OBJ) \
|
||||
|
task_group_context.$(OBJ) \
|
||||
|
governor.$(OBJ) \
|
||||
|
market.$(OBJ) \
|
||||
|
arena.$(OBJ) \
|
||||
|
scheduler.$(OBJ) \
|
||||
|
observer_proxy.$(OBJ) \
|
||||
|
tbb_statistics.$(OBJ) \
|
||||
|
tbb_main.$(OBJ) |
||||
|
|
||||
|
# OLD/Legacy object files for backward binary compatibility
|
||||
|
ifeq (,$(findstring $(DEFINE_KEY)TBB_NO_LEGACY,$(CPLUS_FLAGS))) |
||||
|
TBB_CPLUS_OLD.OBJ = \
|
||||
|
concurrent_vector_v2.$(OBJ) \
|
||||
|
concurrent_queue_v2.$(OBJ) \
|
||||
|
spin_rw_mutex_v2.$(OBJ) \
|
||||
|
task_v2.$(OBJ) |
||||
|
endif |
||||
|
|
||||
|
# Object files that gmake up TBB (TBB_ASM.OBJ is platform-specific)
|
||||
|
TBB.OBJ = $(TBB_CPLUS.OBJ) $(TBB_CPLUS_OLD.OBJ) $(TBB_ASM.OBJ) |
||||
|
|
||||
|
# Suppress superfluous warnings for TBB compilation
|
||||
|
WARNING_KEY += $(WARNING_SUPPRESS) |
||||
|
|
||||
|
include $(tbb_root)/build/common_rules.inc |
||||
|
|
||||
|
ifneq (,$(TBB.DEF)) |
||||
|
tbb.def: $(TBB.DEF) $(TBB.LST) |
||||
|
$(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@ |
||||
|
|
||||
|
LIB_LINK_FLAGS += $(EXPORT_KEY)tbb.def |
||||
|
$(TBB.DLL): tbb.def |
||||
|
endif |
||||
|
|
||||
|
tbbvars.sh: |
||||
|
$(MAKE_TBBVARS) |
||||
|
|
||||
|
$(TBB.DLL): BUILDING_LIBRARY = $(TBB.DLL) |
||||
|
$(TBB.DLL): $(TBB.OBJ) $(TBB.RES) tbbvars.sh $(TBB_NO_VERSION.DLL) |
||||
|
$(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(TBB.DLL) $(TBB.OBJ) $(TBB.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS) |
||||
|
|
||||
|
ifneq (,$(TBB_NO_VERSION.DLL)) |
||||
|
$(TBB_NO_VERSION.DLL): |
||||
|
echo "INPUT ($(TBB.DLL))" > $(TBB_NO_VERSION.DLL) |
||||
|
endif |
||||
|
|
||||
|
#clean:
|
||||
|
# $(RM) *.$(OBJ) *.$(DLL) *.res *.map *.ilk *.pdb *.exp *.manifest *.tmp *.d core core.*[0-9][0-9] *.ver
|
||||
|
|
||||
|
# Include automatically generated dependences
|
||||
|
-include *.d |
@ -0,0 +1,218 @@ |
|||||
|
# Copyright 2005-2013 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.
|
||||
|
|
||||
|
# default target
|
||||
|
default_malloc: malloc malloc_test |
||||
|
|
||||
|
tbb_root ?= $(TBBROOT) |
||||
|
BUILDING_PHASE=1 |
||||
|
TEST_RESOURCE = $(MALLOC.RES) |
||||
|
include $(tbb_root)/build/common.inc |
||||
|
DEBUG_SUFFIX=$(findstring _debug,_$(cfg)) |
||||
|
|
||||
|
MALLOC_ROOT ?= $(tbb_root)/src/tbbmalloc |
||||
|
MALLOC_SOURCE_ROOT ?= $(MALLOC_ROOT) |
||||
|
|
||||
|
VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/test |
||||
|
VPATH += $(MALLOC_ROOT) $(MALLOC_SOURCE_ROOT) |
||||
|
|
||||
|
CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBBMALLOC_NO_IMPLICIT_LINKAGE=1) |
||||
|
|
||||
|
include $(tbb_root)/build/common_rules.inc |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# Define rules for making the TBBMalloc shared library.
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
# Object files that make up TBBMalloc
|
||||
|
MALLOC_CPLUS.OBJ = backend.$(OBJ) large_objects.$(OBJ) backref.$(OBJ) tbbmalloc.$(OBJ) |
||||
|
MALLOC.OBJ := $(MALLOC_CPLUS.OBJ) $(MALLOC_ASM.OBJ) itt_notify_malloc.$(OBJ) frontend.$(OBJ) |
||||
|
PROXY.OBJ := proxy.$(OBJ) tbb_function_replacement.$(OBJ) |
||||
|
M_CPLUS_FLAGS := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(DEFINE_KEY)__TBBMALLOC_BUILD=1 |
||||
|
M_INCLUDES = $(INCLUDES) $(INCLUDE_KEY)$(MALLOC_ROOT) $(INCLUDE_KEY)$(MALLOC_SOURCE_ROOT) |
||||
|
|
||||
|
# Suppress superfluous warnings for TBBmalloc compilation
|
||||
|
$(MALLOC.OBJ): M_CPLUS_FLAGS += $(WARNING_SUPPRESS) |
||||
|
|
||||
|
frontend.$(OBJ): frontend.cpp version_string.ver |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(M_INCLUDES) $(INCLUDE_KEY). $< |
||||
|
|
||||
|
$(PROXY.OBJ): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(PIC_KEY) $(DEFINE_KEY)__TBBMALLOC_BUILD=1 $(M_INCLUDES) $< |
||||
|
|
||||
|
$(MALLOC_CPLUS.OBJ): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(M_INCLUDES) $< |
||||
|
|
||||
|
itt_notify_malloc.$(OBJ): itt_notify.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(OUTPUTOBJ_KEY)$@ $(INCLUDES) $< |
||||
|
|
||||
|
MALLOC_LINK_FLAGS = $(LIB_LINK_FLAGS) |
||||
|
PROXY_LINK_FLAGS = $(LIB_LINK_FLAGS) |
||||
|
|
||||
|
ifneq (,$(MALLOC.DEF)) |
||||
|
tbbmalloc.def: $(MALLOC.DEF) |
||||
|
$(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@ |
||||
|
|
||||
|
MALLOC_LINK_FLAGS += $(EXPORT_KEY)tbbmalloc.def |
||||
|
$(MALLOC.DLL): tbbmalloc.def |
||||
|
endif |
||||
|
|
||||
|
$(MALLOC.DLL): BUILDING_LIBRARY = $(MALLOC.DLL) |
||||
|
$(MALLOC.DLL): $(MALLOC.OBJ) $(MALLOC.RES) $(MALLOC_NO_VERSION.DLL) |
||||
|
$(subst $(CPLUS),$(CONLY),$(LIB_LINK_CMD)) $(LIB_OUTPUT_KEY)$(MALLOC.DLL) $(MALLOC.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(MALLOC_LINK_FLAGS) |
||||
|
|
||||
|
ifneq (,$(MALLOCPROXY.DEF)) |
||||
|
tbbmallocproxy.def: $(MALLOCPROXY.DEF) |
||||
|
$(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@ |
||||
|
|
||||
|
PROXY_LINK_FLAGS += $(EXPORT_KEY)tbbmallocproxy.def |
||||
|
$(MALLOCPROXY.DLL): tbbmallocproxy.def |
||||
|
endif |
||||
|
|
||||
|
ifneq (,$(MALLOCPROXY.DLL)) |
||||
|
$(MALLOCPROXY.DLL): BUILDING_LIBRARY = $(MALLOCPROXY.DLL) |
||||
|
$(MALLOCPROXY.DLL): $(PROXY.OBJ) $(MALLOCPROXY_NO_VERSION.DLL) $(MALLOC.DLL) $(MALLOC.RES) |
||||
|
$(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(MALLOCPROXY.DLL) $(PROXY.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(LINK_MALLOC_LIB) $(PROXY_LINK_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
ifneq (,$(MALLOC_NO_VERSION.DLL)) |
||||
|
$(MALLOC_NO_VERSION.DLL): |
||||
|
echo "INPUT ($(MALLOC.DLL))" > $(MALLOC_NO_VERSION.DLL) |
||||
|
endif |
||||
|
|
||||
|
ifneq (,$(MALLOCPROXY_NO_VERSION.DLL)) |
||||
|
$(MALLOCPROXY_NO_VERSION.DLL): |
||||
|
echo "INPUT ($(MALLOCPROXY.DLL))" > $(MALLOCPROXY_NO_VERSION.DLL) |
||||
|
endif |
||||
|
|
||||
|
malloc: $(MALLOC.DLL) $(MALLOCPROXY.DLL) |
||||
|
|
||||
|
malloc_dll: $(MALLOC.DLL) |
||||
|
|
||||
|
malloc_proxy_dll: $(MALLOCPROXY.DLL) |
||||
|
|
||||
|
.PHONY: malloc malloc_dll malloc_proxy_dll |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# End of rules for making the TBBMalloc shared library
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# Define rules for making the TBBMalloc unit tests
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
add_debug=$(basename $(1))_debug$(suffix $(1)) |
||||
|
cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1)) |
||||
|
|
||||
|
MALLOC_MAIN_TESTS = test_ScalableAllocator.$(TEST_EXT) \
|
||||
|
test_ScalableAllocator_STL.$(TEST_EXT) \
|
||||
|
test_malloc_compliance.$(TEST_EXT) \
|
||||
|
test_malloc_regression.$(TEST_EXT) \
|
||||
|
test_malloc_init_shutdown.$(TEST_EXT) \
|
||||
|
test_malloc_pools.$(TEST_EXT) |
||||
|
MALLOC_OVERLOAD_TESTS = test_malloc_overload.$(TEST_EXT) test_malloc_overload_proxy.$(TEST_EXT) test_malloc_atexit.$(TEST_EXT) |
||||
|
|
||||
|
MALLOC_LIB ?= $(call cross_suffix,$(MALLOC.LIB)) |
||||
|
MALLOC_PROXY_LIB ?= $(call cross_suffix,$(MALLOCPROXY.LIB)) |
||||
|
LINK_MALLOC_LIB ?= $(call cross_suffix,$(LINK_MALLOC.LIB)) |
||||
|
LINK_MALLOC_PROXY_LIB ?= $(call cross_suffix,$(LINK_MALLOCPROXY.LIB)) |
||||
|
|
||||
|
ifeq (windows.gcc,$(tbb_os).$(compiler)) |
||||
|
test_malloc_overload.$(TEST_EXT): LIBS += $(MALLOC_PROXY_LIB) |
||||
|
endif |
||||
|
|
||||
|
# on Ubuntu 11.10 linker called with --as-needed, so dependence on libtbbmalloc_proxy
|
||||
|
# is not created, and malloc overload via linking with -ltbbmalloc_proxy is not working.
|
||||
|
# Overcome with --no-as-needed.
|
||||
|
ifeq (linux.gcc,$(tbb_os).$(compiler)) |
||||
|
test_malloc_atexit.$(TEST_EXT): MALLOC_PROXY_LIB := -Wl,--no-as-needed $(MALLOC_PROXY_LIB) |
||||
|
endif |
||||
|
|
||||
|
test_malloc_overload.$(TEST_EXT): test_malloc_overload.cpp |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(M_INCLUDES) $< $(LIBDL) $(LIBS) $(LINK_FLAGS) |
||||
|
test_malloc_overload_proxy.$(TEST_EXT): test_malloc_overload.cpp $(MALLOC_PROXY_LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(M_INCLUDES) $< $(LIBDL) $(MALLOC_PROXY_LIB) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
test_malloc_whitebox.$(TEST_EXT): test_malloc_whitebox.cpp $(MALLOC_ASM.OBJ) version_string.ver |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $(INCLUDE_KEY). $< $(MALLOC_ASM.OBJ) $(LIBS) $(LIBDL) $(LINK_FLAGS) |
||||
|
|
||||
|
test_malloc_lib_unload.$(TEST_EXT): test_malloc_lib_unload.cpp test_malloc_lib_unload_dll.$(DLL) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $< $(LIBS) test_malloc_lib_unload_dll.$(LIBEXT) $(LIBDL) $(LINK_FLAGS) |
||||
|
|
||||
|
# TODO: use generic rules
|
||||
|
test_malloc_used_by_lib.$(TEST_EXT): test_malloc_used_by_lib.cpp test_malloc_used_by_lib.$(DLL) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $< $(LIBS) $(LIBDL) $(LINK_FLAGS) |
||||
|
|
||||
|
test_malloc_used_by_lib.$(DLL): test_malloc_used_by_lib.cpp $(MALLOC_LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/LD,$(M_CPLUS_FLAGS)) $(PIC_KEY) $(M_INCLUDES) $(DEFINE_KEY)_USRDLL $< $(LINK_MALLOC_LIB) $(LINK_FLAGS) $(DYLIB_KEY) |
||||
|
|
||||
|
$(MALLOC_MAIN_TESTS): %.$(TEST_EXT): %.$(OBJ) $(MALLOC_LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LINK_MALLOC_LIB) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
MALLOC_C_TESTS = test_malloc_pure_c.$(TEST_EXT) |
||||
|
|
||||
|
$(MALLOC_C_TESTS): %.$(TEST_EXT): %.$(OBJ) $(MALLOC_LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $^ $(LINK_MALLOC_LIB) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
# Rules for generating a test DLL
|
||||
|
%_dll.$(DLL): %_dll.$(OBJ) |
||||
|
$(LIB_LINK_CMD) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $< $(LIBS) $(LIBDL) $(LINK_FLAGS) $(DYLIB_KEY) |
||||
|
.PRECIOUS: %_dll.$(OBJ) |
||||
|
|
||||
|
test_malloc_atexit.$(TEST_EXT): test_malloc_atexit.$(OBJ) test_malloc_atexit_dll.$(DLL) $(MALLOC_LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(MALLOC_PROXY_LIB) $(LINK_MALLOC_LIB) test_malloc_atexit_dll.$(LIBEXT) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
MALLOC_TESTS = $(MALLOC_MAIN_TESTS) $(MALLOC_C_TESTS) test_malloc_whitebox.$(TEST_EXT) test_malloc_used_by_lib.$(TEST_EXT) |
||||
|
ifneq (,$(MALLOCPROXY.DLL)) |
||||
|
MALLOC_TESTS += $(MALLOC_OVERLOAD_TESTS) test_malloc_lib_unload.$(TEST_EXT) |
||||
|
endif |
||||
|
|
||||
|
# run_cmd is usually empty
|
||||
|
malloc_test: $(call cross_suffix,$(MALLOC.DLL)) malloc_test_no_depends |
||||
|
|
||||
|
malloc_test_no_depends: $(TEST_PREREQUISITE) $(MALLOC_TESTS) |
||||
|
$(run_cmd) ./test_malloc_pools.$(TEST_EXT) $(args) 1:4 |
||||
|
ifneq (,$(MALLOCPROXY.DLL)) |
||||
|
$(run_cmd) ./test_malloc_atexit.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) $(TEST_LAUNCHER) test_malloc_lib_unload.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) $(TEST_LAUNCHER) -l $(call cross_suffix,$(MALLOCPROXY.DLL)) test_malloc_overload.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) $(TEST_LAUNCHER) test_malloc_overload_proxy.$(TEST_EXT) $(args) |
||||
|
endif |
||||
|
$(run_cmd) ./test_malloc_used_by_lib.$(TEST_EXT) |
||||
|
$(run_cmd) ./test_malloc_whitebox.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) $(TEST_LAUNCHER) -u test_malloc_compliance.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_ScalableAllocator.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_ScalableAllocator_STL.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_malloc_regression.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_malloc_init_shutdown.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_malloc_pure_c.$(TEST_EXT) $(args) |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# End of rules for making the TBBMalloc unit tests
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
# Include automatically generated dependences
|
||||
|
-include *.d |
@ -0,0 +1,117 @@ |
|||||
|
# Copyright 2005-2013 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.
|
||||
|
|
||||
|
# default target
|
||||
|
default_tbbproxy: tbbproxy tbbproxy_test |
||||
|
|
||||
|
tbb_root ?= $(TBBROOT) |
||||
|
BUILDING_PHASE=1 |
||||
|
include $(tbb_root)/build/common.inc |
||||
|
DEBUG_SUFFIX=$(findstring _debug,_$(cfg)) |
||||
|
|
||||
|
PROXY_ROOT ?= $(tbb_root)/src/tbbproxy |
||||
|
PROXY_SOURCE_ROOT ?= $(PROXY_ROOT) |
||||
|
|
||||
|
VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/test |
||||
|
VPATH += $(PROXY_ROOT) $(PROXY_SOURCE_ROOT) |
||||
|
|
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_DLL_NAME=$(TBB.DLL) |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_LST=$(TBB.LST) |
||||
|
CPLUS_FLAGS += $(foreach dir,$(VPATH),$(INCLUDE_KEY)$(dir)) |
||||
|
CPLUS_FLAGS += $(PIC_KEY) |
||||
|
|
||||
|
include $(tbb_root)/build/common_rules.inc |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# Define rules for making the TBB Proxy static library.
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
# Object files that make up TBB Proxy
|
||||
|
PROXY_CPLUS.OBJ = tbbproxy.$(OBJ) |
||||
|
PROXY_ASM.OBJ = tbbproxy-asm.$(OBJ) |
||||
|
PROXY.OBJ := $(PROXY_CPLUS.OBJ) $(PROXY_ASM.OBJ) |
||||
|
|
||||
|
# Not using intrinsics prevents undesired dependence from ICL libraries (e.g. libirc).
|
||||
|
# Not using default libs prevents link issues caused by different CRT versions in tbbproxy and in an app.
|
||||
|
$(PROXY.OBJ): CPLUS_FLAGS += $(DEFINE_KEY)ARCH_$(arch) $(DEFINE_KEY)OS_$(tbb_os) $(NOINTRINSIC_KEY) $(NODEFAULTLIB_KEY) |
||||
|
|
||||
|
$(PROXY_CPLUS.OBJ): CPLUS_FLAGS+=$(if $(filter windows.%cl,$(tbb_os).$(compiler)),/Fdtbbproxy$(DEBUG_SUFFIX).pdb) |
||||
|
$(PROXY_CPLUS.OBJ): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(INCLUDES) $< |
||||
|
|
||||
|
$(PROXY.LIB): $(PROXY.OBJ) |
||||
|
$(AR) $(AR_FLAGS) $(AR_OUTPUT_KEY)$@ $^ |
||||
|
|
||||
|
.PRECIOUS : %.$(ASMEXT) |
||||
|
tbbproxy-asm.$(ASMEXT) : tbbproxy-$(tbb_os).$(ASMEXT) $(TBB.LST) $(TBB-OBJECTS.LST) |
||||
|
$(CPLUS) $(PREPROC_ONLY) $< $(INCLUDES) $(CPLUS_FLAGS) > $@ |
||||
|
|
||||
|
.PHONY: tbbproxy |
||||
|
ifeq (windows,$(tbb_os)) |
||||
|
tbbproxy: $(PROXY.LIB) |
||||
|
else |
||||
|
tbbproxy: |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# End of rules for making the TBB Proxy static library
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# Define rules for making the TBB Proxy unit tests
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
add_debug=$(basename $(1))_debug$(suffix $(1)) |
||||
|
cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1)) |
||||
|
|
||||
|
PROXY_LIB = $(call cross_suffix,$(PROXY.LIB)) |
||||
|
PROXY_TESTS_SRCS = test_runtime_loader.cpp |
||||
|
PROXY_TESTS_OBJS = $(PROXY_TESTS_SRCS:.cpp=.$(OBJ)) |
||||
|
PROXY_TESTS_EXES = $(PROXY_TESTS_OBJS:.$(OBJ)=.$(TEST_EXT)) |
||||
|
|
||||
|
# Run rules.
|
||||
|
.PHONY: tbbproxy_test |
||||
|
ifeq (windows,$(tbb_os)) |
||||
|
tbbproxy_test: $(call cross_suffix,$(PROXY.LIB)) $(TEST_PREREQUISITE) $(PROXY_TESTS_EXES) |
||||
|
$(run_cmd) ./test_runtime_loader.$(TEST_EXT) $(args) |
||||
|
else |
||||
|
tbbproxy_test: |
||||
|
endif |
||||
|
|
||||
|
# Link rules.
|
||||
|
$(PROXY_TESTS_EXES): %.$(TEST_EXT): %.$(OBJ) $(PROXY_LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(PROXY_LIB) $(LIBS) $(LIBDL) $(LINK_FLAGS) |
||||
|
|
||||
|
# Compilation rules.
|
||||
|
$(PROXY_TESTS_OBJS): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $(OUTPUT_KEY)$@ $< |
||||
|
|
||||
|
#------------------------------------------------------
|
||||
|
# End of rules for making the TBB Proxy unit tests
|
||||
|
#------------------------------------------------------
|
||||
|
|
||||
|
# Include automatically generated dependences
|
||||
|
-include *.d |
@ -0,0 +1,387 @@ |
|||||
|
# Copyright 2005-2013 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.
|
||||
|
|
||||
|
#------------------------------------------------------------------------------
|
||||
|
# Define rules for making the TBB tests.
|
||||
|
#------------------------------------------------------------------------------
|
||||
|
.PHONY: default test_tbb_plain test_tbb_openmp test_tbb_cilk test_tbb_old clean |
||||
|
|
||||
|
default: test_tbb_plain test_tbb_openmp test_tbb_cilk test_tbb_old |
||||
|
|
||||
|
tbb_root ?= $(TBBROOT) |
||||
|
BUILDING_PHASE=1 |
||||
|
TEST_RESOURCE = $(TBB.RES) |
||||
|
include $(tbb_root)/build/common.inc |
||||
|
DEBUG_SUFFIX=$(findstring _debug,$(call cross_cfg,_$(cfg))) |
||||
|
|
||||
|
#------------------------------------------------------------
|
||||
|
# Define static pattern rules dealing with .cpp source files
|
||||
|
#------------------------------------------------------------
|
||||
|
|
||||
|
VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/rml/client $(tbb_root)/src/old $(tbb_root)/src/test $(tbb_root)/src/perf |
||||
|
|
||||
|
CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1) |
||||
|
ifdef use_proxy |
||||
|
USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_PROXY |
||||
|
CPLUS_FLAGS += $(USE_PROXY_FLAG) |
||||
|
LINK_TBB.LIB = $(PROXY.LIB) |
||||
|
LIBS += $(LIBDL) |
||||
|
endif |
||||
|
|
||||
|
include $(tbb_root)/build/common_rules.inc |
||||
|
|
||||
|
# Rule for generating executable test
|
||||
|
%.$(TEST_EXT): %.$(OBJ) $(TBB.LIB) $(if $(use_proxy),$(LINK_TBB.LIB)) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LINK_TBB.LIB) $(LIBS) $(AUX_LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
# Rules for generating a test DLL
|
||||
|
%_dll.$(DLL): %_dll.$(OBJ) $(TBB.LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $< $(LINK_TBB.LIB) $(LIBS) $(LINK_FLAGS) $(DYLIB_KEY) |
||||
|
.PRECIOUS: %_dll.$(OBJ) %_dll.$(DLL) |
||||
|
|
||||
|
# Rules for the tests, which use TBB in a dynamically loadable library
|
||||
|
test_model_plugin.$(TEST_EXT): CPLUS_FLAGS := $(CPLUS_FLAGS:$(USE_PROXY_FLAG)=) |
||||
|
test_model_plugin.$(TEST_EXT): test_model_plugin.$(OBJ) test_model_plugin_dll.$(DLL) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LIBDL) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
# tbb_misc.$(OBJ) has to be specified here (instead of harness_inject_scheduler.h) because it carries dependency on version_string.ver
|
||||
|
SCHEDULER_DEPENDENCIES = $(TBB_ASM.OBJ) tbb_misc.$(OBJ) |
||||
|
|
||||
|
# These executables don't depend on the TBB library, but include core .cpp files directly
|
||||
|
SCHEDULER_DIRECTLY_INCLUDED = test_task_leaks.$(TEST_EXT) \
|
||||
|
test_task_assertions.$(TEST_EXT) \
|
||||
|
test_fast_random.$(TEST_EXT) |
||||
|
|
||||
|
# Necessary to locate version_string.ver referenced from directly included tbb_misc.cpp
|
||||
|
INCLUDES += $(INCLUDE_KEY). |
||||
|
|
||||
|
$(SCHEDULER_DIRECTLY_INCLUDED): WARNING_KEY += $(WARNING_SUPPRESS) |
||||
|
|
||||
|
$(SCHEDULER_DIRECTLY_INCLUDED): %.$(TEST_EXT) : %.$(OBJ) $(SCHEDULER_DEPENDENCIES) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $^ $(LIBDL) $(LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
# Tests that use some features of C++11
|
||||
|
TEST_TBB_CPP11 = test_lambda.$(TEST_EXT) test_cache_aligned_allocator_STL.$(TEST_EXT) |
||||
|
|
||||
|
$(TEST_TBB_CPP11:%.$(TEST_EXT)=%.$(OBJ)): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CPP11_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $< |
||||
|
$(TEST_TBB_CPP11): %.$(TEST_EXT): %.$(OBJ) $(TBB.LIB) $(if $(use_proxy),$(LINK_TBB.LIB)) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(CPP11_FLAGS) $< $(LINK_TBB.LIB) $(LIBS) $(AUX_LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
# test_tbb_header detects "multiple definition" linker error using the test that covers the whole library
|
||||
|
TWICE_LINKED_TESTS = test_tbb_header.$(TEST_EXT) \
|
||||
|
test_concurrent_unordered.$(TEST_EXT) |
||||
|
|
||||
|
%_secondary.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_SECONDARY=1 |
||||
|
%_secondary.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(OUTPUTOBJ_KEY)$@ $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $< |
||||
|
|
||||
|
$(TWICE_LINKED_TESTS): %.$(TEST_EXT): %.$(OBJ) %_secondary.$(OBJ) $(TBB.LIB) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $*.$(OBJ) $*_secondary.$(OBJ) $(LINK_TBB.LIB) $(LIBS) $(AUX_LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
# Checks that TBB atomics work correctly in position independent code
|
||||
|
test_atomic_pic.$(TEST_EXT): test_atomic.cpp |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $(DEFINE_KEY)__TBB_TEST_PIC=1 $< $(LINK_TBB.LIB) $(LIBS) $(AUX_LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
#Test of generic gcc port and icc intrinsics port
|
||||
|
%_compiler_builtins.$(TEST_EXT): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_BUILTINS=1 |
||||
|
%_compiler_builtins.$(TEST_EXT): %.cpp |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $< $(LIBS) $(AUX_LIBS) $(LINK_FLAGS) |
||||
|
|
||||
|
# The main list of TBB tests
|
||||
|
TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \
|
||||
|
test_tbb_fork.$(TEST_EXT) \
|
||||
|
test_assembly_compiler_builtins.$(TEST_EXT) \
|
||||
|
test_aligned_space.$(TEST_EXT) \
|
||||
|
test_atomic.$(TEST_EXT) \
|
||||
|
test_atomic_pic.$(TEST_EXT) \
|
||||
|
test_atomic_compiler_builtins.$(TEST_EXT) \
|
||||
|
test_blocked_range.$(TEST_EXT) \
|
||||
|
test_blocked_range2d.$(TEST_EXT) \
|
||||
|
test_blocked_range3d.$(TEST_EXT) \
|
||||
|
test_concurrent_queue.$(TEST_EXT) \
|
||||
|
test_concurrent_vector.$(TEST_EXT) \
|
||||
|
test_concurrent_unordered.$(TEST_EXT) \
|
||||
|
test_concurrent_hash_map.$(TEST_EXT) \
|
||||
|
test_enumerable_thread_specific.$(TEST_EXT) \
|
||||
|
test_handle_perror.$(TEST_EXT) \
|
||||
|
test_halt.$(TEST_EXT) \
|
||||
|
test_model_plugin.$(TEST_EXT) \
|
||||
|
test_mutex.$(TEST_EXT) \
|
||||
|
test_mutex_native_threads.$(TEST_EXT) \
|
||||
|
test_rwm_upgrade_downgrade.$(TEST_EXT) \
|
||||
|
test_cache_aligned_allocator.$(TEST_EXT) \
|
||||
|
test_parallel_for.$(TEST_EXT) \
|
||||
|
test_parallel_reduce.$(TEST_EXT) \
|
||||
|
test_parallel_sort.$(TEST_EXT) \
|
||||
|
test_parallel_scan.$(TEST_EXT) \
|
||||
|
test_parallel_while.$(TEST_EXT) \
|
||||
|
test_parallel_do.$(TEST_EXT) \
|
||||
|
test_pipeline.$(TEST_EXT) \
|
||||
|
test_pipeline_with_tbf.$(TEST_EXT) \
|
||||
|
test_parallel_pipeline.$(TEST_EXT) \
|
||||
|
test_task_scheduler_init.$(TEST_EXT) \
|
||||
|
test_task_scheduler_observer.$(TEST_EXT) \
|
||||
|
test_task.$(TEST_EXT) \
|
||||
|
test_tbb_thread.$(TEST_EXT) \
|
||||
|
test_std_thread.$(TEST_EXT) \
|
||||
|
test_tick_count.$(TEST_EXT) \
|
||||
|
test_inits_loop.$(TEST_EXT) \
|
||||
|
test_yield.$(TEST_EXT) \
|
||||
|
test_eh_tasks.$(TEST_EXT) \
|
||||
|
test_eh_algorithms.$(TEST_EXT) \
|
||||
|
test_eh_flow_graph.$(TEST_EXT) \
|
||||
|
test_parallel_invoke.$(TEST_EXT) \
|
||||
|
test_task_group.$(TEST_EXT) \
|
||||
|
test_ittnotify.$(TEST_EXT) \
|
||||
|
test_parallel_for_each.$(TEST_EXT) \
|
||||
|
test_tbb_header.$(TEST_EXT) \
|
||||
|
test_combinable.$(TEST_EXT) \
|
||||
|
test_task_auto_init.$(TEST_EXT) \
|
||||
|
test_task_arena.$(TEST_EXT) \
|
||||
|
test_concurrent_monitor.$(TEST_EXT) \
|
||||
|
test_semaphore.$(TEST_EXT) \
|
||||
|
test_critical_section.$(TEST_EXT) \
|
||||
|
test_reader_writer_lock.$(TEST_EXT) \
|
||||
|
test_tbb_condition_variable.$(TEST_EXT) \
|
||||
|
test_intrusive_list.$(TEST_EXT) \
|
||||
|
test_concurrent_priority_queue.$(TEST_EXT) \
|
||||
|
test_task_priority.$(TEST_EXT) \
|
||||
|
test_task_enqueue.$(TEST_EXT) \
|
||||
|
test_task_steal_limit.$(TEST_EXT) \
|
||||
|
test_hw_concurrency.$(TEST_EXT) \
|
||||
|
test_fp.$(TEST_EXT) \
|
||||
|
test_flow_graph.$(TEST_EXT) \
|
||||
|
test_broadcast_node.$(TEST_EXT) \
|
||||
|
test_continue_node.$(TEST_EXT) \
|
||||
|
test_function_node.$(TEST_EXT) \
|
||||
|
test_limiter_node.$(TEST_EXT) \
|
||||
|
test_join_node.$(TEST_EXT) \
|
||||
|
test_buffer_node.$(TEST_EXT) \
|
||||
|
test_queue_node.$(TEST_EXT) \
|
||||
|
test_priority_queue_node.$(TEST_EXT) \
|
||||
|
test_sequencer_node.$(TEST_EXT) \
|
||||
|
test_source_node.$(TEST_EXT) \
|
||||
|
test_overwrite_node.$(TEST_EXT) \
|
||||
|
test_write_once_node.$(TEST_EXT) \
|
||||
|
test_or_node.$(TEST_EXT) \
|
||||
|
test_multifunction_node.$(TEST_EXT) \
|
||||
|
test_split_node.$(TEST_EXT) \
|
||||
|
test_static_assert.$(TEST_EXT) \
|
||||
|
test_tbb_version.$(TEST_EXT) # insert new files right above |
||||
|
|
||||
|
TEST_TBB_PLAIN.EXE += $(TEST_TBB_CPP11) |
||||
|
|
||||
|
ifdef OPENMP_FLAG |
||||
|
test_openmp.$(TEST_EXT): test_openmp.cpp |
||||
|
$(CPLUS) $(OPENMP_FLAG) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(INCLUDES) $< $(LIBS) $(LINK_TBB.LIB) $(LINK_FLAGS) |
||||
|
test_tbb_openmp: $(TEST_PREREQUISITE) test_openmp.$(TEST_EXT) |
||||
|
$(run_cmd) ./test_openmp.$(TEST_EXT) 1:4 |
||||
|
else |
||||
|
test_tbb_openmp: |
||||
|
@echo "OpenMP is not available" |
||||
|
endif |
||||
|
|
||||
|
ifdef CILK_AVAILABLE |
||||
|
test_cilk_dynamic_load.$(TEST_EXT): test_cilk_dynamic_load.$(OBJ) test_cilk_dynamic_load_dll.$(DLL) |
||||
|
$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LINK_TBB.LIB) $(LIBDL) $(LIBS) $(LINK_FLAGS) |
||||
|
# Workaround on cilkrts linkage known issue (see Intel(R) C++ Composer XE 2011 Release Notes)
|
||||
|
# The issue reveals itself if a version of binutils is prior to 2.17
|
||||
|
ifeq (linux_icc,$(tbb_os)_$(compiler)) |
||||
|
test_cilk_interop.$(TEST_EXT): LIBS += -lcilkrts |
||||
|
endif |
||||
|
test_tbb_cilk: test_cilk_interop.$(TEST_EXT) test_cilk_dynamic_load.$(TEST_EXT) |
||||
|
$(run_cmd) ./test_cilk_interop.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_cilk_dynamic_load.$(TEST_EXT) $(args) |
||||
|
else |
||||
|
test_tbb_cilk: |
||||
|
@echo "Intel(R) Cilk Plus is not available" |
||||
|
endif |
||||
|
|
||||
|
$(TEST_TBB_PLAIN.EXE): WARNING_KEY += $(TEST_WARNING_KEY) |
||||
|
|
||||
|
# Run tests that are in SCHEDULER_DIRECTLY_INCLUDED and TEST_TBB_PLAIN.EXE
|
||||
|
# Note that usually run_cmd is empty, and tests run directly
|
||||
|
test_tbb_plain: $(TEST_PREREQUISITE) $(SCHEDULER_DIRECTLY_INCLUDED) $(TEST_TBB_PLAIN.EXE) |
||||
|
$(run_cmd) ./test_tbb_version.$(TEST_EXT) $(args) |
||||
|
# Checking TBB version first to make sure the following testing has anything in it |
||||
|
$(run_cmd) ./test_assembly.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_atomic.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_atomic_pic.$(TEST_EXT) $(args) |
||||
|
# Yes, 4:8 is intended on the next line. |
||||
|
$(run_cmd) ./test_yield.$(TEST_EXT) $(args) 4:8 |
||||
|
$(run_cmd) ./test_handle_perror.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_task_auto_init.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_task_arena.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_task_scheduler_init.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_task_scheduler_observer.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_task.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_task_assertions.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_task_leaks.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_fast_random.$(TEST_EXT) $(args) 1:16 |
||||
|
$(run_cmd) ./test_eh_tasks.$(TEST_EXT) $(args) 2:4 |
||||
|
$(run_cmd) ./test_cache_aligned_allocator.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_cache_aligned_allocator_STL.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_blocked_range.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_blocked_range2d.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_blocked_range3d.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_parallel_for.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_parallel_sort.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_aligned_space.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_parallel_reduce.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_parallel_scan.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_parallel_while.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_parallel_do.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_inits_loop.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_lambda.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_mutex.$(TEST_EXT) $(args) 1:3 |
||||
|
$(run_cmd) ./test_mutex_native_threads.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_rwm_upgrade_downgrade.$(TEST_EXT) $(args) 4 |
||||
|
# Yes, 4:8 is intended on the next line. |
||||
|
$(run_cmd) ./test_halt.$(TEST_EXT) $(args) 4:8 |
||||
|
$(run_cmd) ./test_pipeline.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_pipeline_with_tbf.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_parallel_pipeline.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_tick_count.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_concurrent_queue.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_concurrent_vector.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_concurrent_unordered.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_concurrent_hash_map.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_enumerable_thread_specific.$(TEST_EXT) $(args) 0:4 |
||||
|
$(run_cmd) ./test_combinable.$(TEST_EXT) $(args) 0:4 |
||||
|
$(run_cmd) ./test_model_plugin.$(TEST_EXT) $(args) 4 |
||||
|
$(run_cmd) ./test_eh_algorithms.$(TEST_EXT) $(args) 2:4 |
||||
|
$(run_cmd) ./test_eh_flow_graph.$(TEST_EXT) $(args) 2:4 |
||||
|
$(run_cmd) ./test_tbb_thread.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_std_thread.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_parallel_invoke.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_task_group.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_ittnotify.$(TEST_EXT) $(args) 2:2 |
||||
|
$(run_cmd) ./test_parallel_for_each.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_tbb_header.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_concurrent_monitor.$(TEST_EXT) $(args) 6:8 |
||||
|
$(run_cmd) ./test_critical_section.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_semaphore.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_reader_writer_lock.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_tbb_condition_variable.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_tbb_fork.$(TEST_EXT) |
||||
|
$(run_cmd) ./test_intrusive_list.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_concurrent_priority_queue.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_task_priority.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_task_enqueue.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_task_steal_limit.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_hw_concurrency.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_fp.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_flow_graph.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_broadcast_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_continue_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_function_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_limiter_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_join_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_buffer_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_queue_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_priority_queue_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_sequencer_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_source_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_overwrite_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_write_once_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_or_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_multifunction_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_split_node.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_atomic_compiler_builtins.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_assembly_compiler_builtins.$(TEST_EXT) $(args) |
||||
|
$(run_cmd) ./test_static_assert.$(TEST_EXT) $(args) |
||||
|
|
||||
|
CPLUS_FLAGS_DEPRECATED = $(DEFINE_KEY)TBB_DEPRECATED=1 $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS) $(INCLUDE_KEY)$(tbb_root)/src/test |
||||
|
|
||||
|
TEST_TBB_OLD.OBJ = test_concurrent_vector_v2.$(OBJ) test_concurrent_queue_v2.$(OBJ) test_mutex_v2.$(OBJ) test_task_scheduler_observer_v3.$(OBJ) |
||||
|
|
||||
|
TEST_TBB_DEPRECATED.OBJ = test_concurrent_queue_deprecated.$(OBJ) \
|
||||
|
test_concurrent_vector_deprecated.$(OBJ) \
|
||||
|
|
||||
|
|
||||
|
# For deprecated files, we don't mind warnings etc., thus compilation rules are most relaxed
|
||||
|
$(TEST_TBB_OLD.OBJ): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS_DEPRECATED) $(CXX_ONLY_FLAGS) $(INCLUDES) $< |
||||
|
|
||||
|
%_deprecated.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(CPLUS_FLAGS_DEPRECATED) $(CXX_ONLY_FLAGS) $(INCLUDES) $< |
||||
|
.PRECIOUS: %_deprecated.$(OBJ) |
||||
|
|
||||
|
TEST_TBB_OLD.EXE = $(subst .$(OBJ),.$(TEST_EXT),$(TEST_TBB_OLD.OBJ) $(TEST_TBB_DEPRECATED.OBJ)) |
||||
|
|
||||
|
ifeq (,$(NO_LEGACY_TESTS)) |
||||
|
test_tbb_old: $(TEST_PREREQUISITE) $(TEST_TBB_OLD.EXE) |
||||
|
$(run_cmd) ./test_concurrent_vector_v2.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_concurrent_vector_deprecated.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_concurrent_queue_v2.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_concurrent_queue_deprecated.$(TEST_EXT) $(args) 1:4 |
||||
|
$(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 1 |
||||
|
$(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 2 |
||||
|
$(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 4 |
||||
|
$(run_cmd) ./test_task_scheduler_observer_v3.$(TEST_EXT) $(args) 1:4 |
||||
|
else |
||||
|
test_tbb_old: |
||||
|
@echo Legacy tests skipped |
||||
|
endif |
||||
|
|
||||
|
ifneq (,$(codecov)) |
||||
|
codecov_gen: |
||||
|
profmerge |
||||
|
codecov $(if $(findstring -,$(codecov)),$(codecov),) -demang -comp $(tbb_root)/build/codecov.txt |
||||
|
endif |
||||
|
|
||||
|
test_% debug_%: test_%.$(TEST_EXT) $(TEST_PREREQUISITE) |
||||
|
ifeq (,$(repeat)) |
||||
|
$(run_cmd) ./$< $(args) |
||||
|
else |
||||
|
ifeq (windows,$(tbb_os)) |
||||
|
for /L %%i in (1,1,$(repeat)) do echo %%i of $(repeat): && $(run_cmd) $< $(args) |
||||
|
else |
||||
|
for ((i=1;i<=$(repeat);++i)); do echo $$i of $(repeat): && $(run_cmd) ./$< $(args); done |
||||
|
endif |
||||
|
endif # repeat
|
||||
|
ifneq (,$(codecov)) |
||||
|
profmerge |
||||
|
codecov $(if $(findstring -,$(codecov)),$(codecov),) -demang -comp $(tbb_root)/build/codecov.txt |
||||
|
endif |
||||
|
|
||||
|
time_%: time_%.$(TEST_EXT) $(TEST_PREREQUISITE) |
||||
|
$(run_cmd) ./$< $(args) |
||||
|
|
||||
|
|
||||
|
perf_%: AUX_LIBS = perf_dll.$(LIBEXT) |
||||
|
perf_%: perf_dll.$(DLL) perf_%.$(TEST_EXT) |
||||
|
$(run_cmd) ./$@.$(TEST_EXT) $(args) |
||||
|
|
||||
|
clean_%: |
||||
|
$(RM) $*.$(OBJ) $*.exe $*.$(DLL) $*.$(LIBEXT) $*.res $*.map $*.ilk $*.pdb $*.exp $*.*manifest $*.tmp $*.d *.ver |
||||
|
|
||||
|
clean: |
||||
|
$(RM) *.$(OBJ) *.exe *.$(DLL) *.$(LIBEXT) *.res *.map *.ilk *.pdb *.exp *.manifest *.tmp *.d pgopti.* *.dyn core core.*[0-9][0-9] *.ver |
||||
|
|
||||
|
# Include automatically generated dependences
|
||||
|
-include *.d |
@ -0,0 +1,102 @@ |
|||||
|
# Copyright 2005-2013 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 = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor $(if $(findstring cc4., $(runtime)),-Wextra) |
||||
|
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor |
||||
|
DYLIB_KEY = -shared |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = g++ |
||||
|
CONLY = gcc |
||||
|
LIB_LINK_FLAGS = -shared |
||||
|
LIBS = -lpthread -lrt -ldl |
||||
|
C_FLAGS = $(CPLUS_FLAGS) -x c |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -O2 -DUSE_PTHREAD |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD |
||||
|
endif |
||||
|
|
||||
|
ASM= |
||||
|
ASM_FLAGS= |
||||
|
|
||||
|
TBB_ASM.OBJ= |
||||
|
|
||||
|
ifeq (ia64,$(arch)) |
||||
|
# Position-independent code (PIC) is a must for IA-64 |
||||
|
CPLUS_FLAGS += $(PIC_KEY) |
||||
|
endif |
||||
|
|
||||
|
ifeq (intel64,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify) |
||||
|
ifeq (sparc,$(arch)) |
||||
|
CPLUS_FLAGS += -mcpu=v9 -m64 |
||||
|
LIB_LINK_FLAGS += -mcpu=v9 -m64 |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
ASSEMBLY_SOURCE=$(arch)-gas |
||||
|
ifeq (ia64,$(arch)) |
||||
|
ASM=ias |
||||
|
TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o |
||||
|
endif |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions -fno-schedule-insns2 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,93 @@ |
|||||
|
# Copyright 2005-2013 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) |
||||
|
ifeq ($(arch),i386) |
||||
|
ifeq ($(shell isainfo -b),64) |
||||
|
arch:=intel64 |
||||
|
else |
||||
|
arch:=ia32 |
||||
|
endif |
||||
|
endif |
||||
|
export arch |
||||
|
# For non-IA systems running Sun OS, 'arch' will contain whatever is printed by uname -p. |
||||
|
# In particular, for SPARC architecture it will contain "sparc". |
||||
|
endif |
||||
|
|
||||
|
ifndef runtime |
||||
|
gcc_version:=$(shell gcc -v 2>&1 | grep 'gcc version' | sed -e 's/^gcc version //' | sed -e 's/ .*$$//') |
||||
|
os_version:=$(shell uname -r) |
||||
|
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//') |
||||
|
export runtime:=cc$(gcc_version)_kernel$(os_kernel_version) |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(arch),sparc) |
||||
|
native_compiler := gcc |
||||
|
export compiler ?= gcc |
||||
|
else |
||||
|
native_compiler := suncc |
||||
|
export compiler ?= suncc |
||||
|
endif |
||||
|
# debugger ?= gdb |
||||
|
|
||||
|
CMD=$(SHELL) -c |
||||
|
CWD=$(shell pwd) |
||||
|
RM?=rm -f |
||||
|
RD?=rmdir |
||||
|
MD?=mkdir -p |
||||
|
NUL= /dev/null |
||||
|
SLASH=/ |
||||
|
MAKE_VERSIONS=bash $(tbb_root)/build/version_info_sunos.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver |
||||
|
MAKE_TBBVARS=bash $(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) |
||||
|
|
||||
|
MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL) |
||||
|
|
||||
|
TBB_NOSTRICT=1 |
||||
|
|
||||
|
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs) |
@ -0,0 +1,100 @@ |
|||||
|
# Copyright 2005-2013 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 -xMMD -errtags |
||||
|
PREPROC_ONLY = -E -xMMD |
||||
|
INCLUDE_KEY = -I |
||||
|
DEFINE_KEY = -D |
||||
|
OUTPUT_KEY = -o # |
||||
|
OUTPUTOBJ_KEY = -o # |
||||
|
PIC_KEY = -KPIC |
||||
|
DYLIB_KEY = -G |
||||
|
LIBDL = -ldl |
||||
|
# WARNING_AS_ERROR_KEY = -errwarn=%all |
||||
|
WARNING_AS_ERROR_KEY = Warning as error |
||||
|
# Supported Solaris Studio* 12.2 and above, remove ',inlasmpnu' in the line below to build by compiler prior Solaris Studio* 12.2 |
||||
|
WARNING_SUPPRESS = -erroff=unassigned,attrskipunsup,badargtype2w,badbinaryopw,wbadasg,wvarhidemem,inlasmpnu |
||||
|
tbb_strict=0 |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = CC |
||||
|
CONLY = cc |
||||
|
LIB_LINK_FLAGS = -G -R . -M$(tbb_root)/build/suncc.map.pause |
||||
|
LINK_FLAGS += -M$(tbb_root)/build/suncc.map.pause |
||||
|
LIBS = -lpthread -lrt -R . |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
#TODO: the $(stdlib) instead of hard-wiring STLPort |
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -mt -xO2 -library=stlport4 -DUSE_PTHREAD $(WARNING_SUPPRESS) |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = -mt -DTBB_USE_DEBUG -g -library=stlport4 -DUSE_PTHREAD $(WARNING_SUPPRESS) |
||||
|
endif |
||||
|
|
||||
|
ASM= |
||||
|
ASM_FLAGS= |
||||
|
|
||||
|
TBB_ASM.OBJ= |
||||
|
|
||||
|
ifeq (intel64,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
ASM_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
# TODO: verify whether -m64 implies V9 on relevant Sun Studio versions |
||||
|
# (those that handle gcc assembler syntax) |
||||
|
ifeq (sparc,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
export TBB_CUSTOM_VARS_SH=export CXXFLAGS="-I$${TBBROOT}/include -library=stlport4 $(CXXFLAGS) -M$${TBBROOT}/build/suncc.map.pause" |
||||
|
export TBB_CUSTOM_VARS_CSH=setenv CXXFLAGS "-I$${TBBROOT}/include -library=stlport4 $(CXXFLAGS) -M$${TBBROOT}/build/suncc.map.pause" |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
ASSEMBLY_SOURCE=$(arch)-fbe |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
M_INCLUDES = $(INCLUDES) -I$(MALLOC_ROOT) -I$(MALLOC_SOURCE_ROOT) |
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,144 @@ |
|||||
|
# Copyright 2005-2013 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 = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wextra |
||||
|
|
||||
|
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor |
||||
|
DYLIB_KEY = -shared |
||||
|
EXPORT_KEY = -Wl,--version-script, |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = $(tbb_tool_prefix)g++ |
||||
|
CONLY = $(tbb_tool_prefix)gcc |
||||
|
|
||||
|
# -soname is necessary for proper linkage to TBB prebuilt libraries when building application with Android SDK |
||||
|
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) |
||||
|
|
||||
|
LINK_FLAGS = -Wl,-rpath-link=. |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
# gcc 4.4 and higher support C++11 |
||||
|
ifneq (,$(shell $(CPLUS) -dumpversion | egrep "^(4\.[4-9]|[5-9])")) |
||||
|
# On Android/gcc 4.4.3, -std=c++0x causes ::int64_t and ::uint64_t to be undefined. |
||||
|
CPP11_FLAGS = -std=gnu++0x $(DEFINE_KEY)_TBB_CPP0X |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -O2 |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = -g -O0 $(DEFINE_KEY)TBB_USE_DEBUG |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)USE_PTHREAD $(DEFINE_KEY)_GLIBCXX_HAVE_FENV_H |
||||
|
|
||||
|
ifneq (,$(findstring $(arch),ia32 intel64)) |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)DO_ITT_NOTIFY |
||||
|
endif |
||||
|
|
||||
|
ifneq (0, $(dlopen_workaround)) |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_USE_DLOPEN_REENTRANCY_WORKAROUND=1 |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_USE_DLOPEN_MAIN_PROGRAM_WORKAROUND=1 |
||||
|
else |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_USE_DLOPEN_REENTRANCY_WORKAROUND=0 |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_USE_DLOPEN_MAIN_PROGRAM_WORKAROUND=0 |
||||
|
endif |
||||
|
|
||||
|
ifeq (0, $(dynamic_load)) |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_DYNAMIC_LOAD_ENABLED=0 |
||||
|
endif |
||||
|
|
||||
|
|
||||
|
# Paths to the NDK prebuilt tools and libraries |
||||
|
CPLUS_FLAGS += --sysroot=$(SYSROOT) |
||||
|
LIB_LINK_FLAGS += --sysroot=$(SYSROOT) |
||||
|
LIBS = -L$(CPLUS_LIB_PATH) -lgnustl_shared |
||||
|
|
||||
|
# This causes CPP11_FLAGS to be issued twice for test_lambda.cpp |
||||
|
# TODO: Fix this in general for all platforms once the correct strategy is determined. |
||||
|
ifneq (00,$(lambdas)$(cpp0x)) |
||||
|
CXX_ONLY_FLAGS += $(CPP11_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
# TODO: Determine best setting of -march and add to CPLUS_FLAGS |
||||
|
CPLUS_FLAGS += -m32 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
# Currently, no intel64 support for Android, but if added later, these flags may suffice |
||||
|
ifeq (intel64,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (arm,$(findstring arm,$(arch))) |
||||
|
CPLUS_FLAGS += -march=armv7-a $(DEFINE_KEY)TBB_USE_GCC_BUILTINS=1 $(DEFINE_KEY)__TBB_64BIT_ATOMICS=0 |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
TBB_ASM.OBJ= |
||||
|
MALLOC_ASM.OBJ= |
||||
|
|
||||
|
ASM = $(tbb_tool_prefix)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 -fno-schedule-insns2 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,77 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# |
||||
|
# Extra gmake command-line parameters for use with Android: |
||||
|
# |
||||
|
# dlopen_workaround: Some OS versions need workaround for dlopen to avoid recursive calls. |
||||
|
# |
||||
|
|
||||
|
####### Detections and Commands ############################################### |
||||
|
|
||||
|
ifeq (android,$(findstring android,$(tbb_os))) |
||||
|
$(error TBB only supports cross-compilation for Android. Specify "target=android" instead.) |
||||
|
endif |
||||
|
|
||||
|
ifneq ("command line","$(origin arch)") |
||||
|
ifeq (icc,$(compiler)) |
||||
|
export COMPILER_VERSION := ICC: $(shell icc -V </dev/null 2>&1 | grep 'Version') |
||||
|
ifneq (,$(findstring IA-32, $(COMPILER_VERSION))) |
||||
|
export arch:=ia32 |
||||
|
else |
||||
|
$(error "No support for Android in $(COMPILER_VERSION)") |
||||
|
endif |
||||
|
|
||||
|
else |
||||
|
ifdef ANDROID_SERIAL |
||||
|
uname_m:=$(shell adb shell uname -m) |
||||
|
ifeq (i686,$(uname_m)) |
||||
|
export arch:=ia32 |
||||
|
else |
||||
|
export arch:=$(uname_m) |
||||
|
endif |
||||
|
else |
||||
|
ifndef arch |
||||
|
$(error "No target architecture specified and \'ANDROID_SERIAL\' environment variable specifying target device not set") |
||||
|
endif |
||||
|
endif |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
ifneq (ia32,$(arch)) |
||||
|
ifneq (arm,$(findstring arm,$(arch))) |
||||
|
$(error "Unsupported architecture for Android target build: arch=$(arch).\nPlease ensure target device is connected via \'adb\' and \'ANDROID_SERIAL\' is set to target device.") |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
|
||||
|
# Many OS versions (Android 4.0.[0-3] for example) need workaround for dlopen to avoid non-recursive loader lock hang |
||||
|
export dlopen_workaround = 1 |
||||
|
|
||||
|
# Android platform only supported from TBB 4.1 forward |
||||
|
NO_LEGACY_TESTS = 1 |
||||
|
|
||||
|
|
@ -0,0 +1,78 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
####### Detections and Commands ############################################### |
||||
|
|
||||
|
# Must set def_prefix according to target architecture detected above |
||||
|
ifeq (ia32,$(arch)) |
||||
|
def_prefix = lin32 |
||||
|
endif |
||||
|
ifeq (arm,$(findstring arm,$(arch))) |
||||
|
def_prefix = lin32 |
||||
|
endif |
||||
|
ifeq (64,$(findstring 64,$(arch))) |
||||
|
def_prefix = lin64 |
||||
|
endif |
||||
|
|
||||
|
gcc_version = $(shell $(tbb_tool_prefix)g++ -dumpversion) |
||||
|
|
||||
|
ifdef ANDROID_NDK_ROOT |
||||
|
$(warning "NDK version $(ANDROID_NDK_ROOT)") |
||||
|
ndk_version:= $(lastword $(subst -, ,$(ANDROID_NDK_ROOT))) |
||||
|
else |
||||
|
$(warning "NDK version not set in environment, using \'unknown\' instead.") |
||||
|
ndk_version:=unknown |
||||
|
endif |
||||
|
|
||||
|
export runtime:=$(target)_cc$(gcc_version)_NDK$(ndk_version)_version_$(target_os_version) |
||||
|
|
||||
|
AR = $(tbb_tool_prefix)ar |
||||
|
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) >version_string.ver |
||||
|
|
||||
|
####### Build settings ######################################################## |
||||
|
|
||||
|
# No SONAME_SUFFIX for Android allowed in library names |
||||
|
TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst |
||||
|
TBB.DEF = $(TBB.LST:.lst=.def) |
||||
|
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL) |
||||
|
TBB.LIB = $(TBB.DLL) |
||||
|
TBB_NO_VERSION.DLL= |
||||
|
LINK_TBB.LIB = $(TBB.LIB) |
||||
|
|
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def |
||||
|
MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOC.LIB = $(MALLOC.DLL) |
||||
|
MALLOC_NO_VERSION.DLL= |
||||
|
LINK_MALLOC.LIB = $(MALLOC.LIB) |
||||
|
|
||||
|
MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def |
||||
|
MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOCPROXY_NO_VERSION.DLL= |
||||
|
MALLOCPROXY.LIB = $(MALLOCPROXY.DLL) |
||||
|
LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB) |
||||
|
|
||||
|
TEST_LAUNCHER= |
||||
|
run_cmd ?= -sh $(tbb_root)/build/android.linux.launcher.sh $(largs) |
@ -0,0 +1,164 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Usage: |
||||
|
# android.linux.launcher.sh [-v] [-u] [-l <library>] <executable> <arg1> <arg2> <argN> |
||||
|
# where: -l <library> specfies the library name to be assigned to LD_PRELOAD |
||||
|
# where: -v enables verbose output when running the test (where supported) |
||||
|
# where: -u is ignored on Android |
||||
|
# |
||||
|
# Libs and executable necessary for testing should be present in the current directory before running. |
||||
|
# ANDROID_SERIAL must be set to the connected Android target device name for file transfer and test runs. |
||||
|
# ANDROID_TEST_DIRECTORY may be set to the directory used for testing on the Android target device; otherwise, |
||||
|
# the default directory used is "/data/local/tmp/$(basename $PWD)". |
||||
|
# Note: Do not remove the redirections to '/dev/null' in the script, otherwise the nightly test system will fail. |
||||
|
|
||||
|
do_cleanup() |
||||
|
{ |
||||
|
adb pull $targetdir/events.txt events.txt > /dev/null 2>&1 |
||||
|
# Remove target directory on the device |
||||
|
adb shell "rm -r ${targetdir}; mkdir -p ${targetdir}" > /dev/null 2>&1 |
||||
|
} |
||||
|
|
||||
|
do_trap_cleanup() |
||||
|
{ |
||||
|
do_cleanup |
||||
|
exit -1 |
||||
|
} |
||||
|
|
||||
|
# Process the optional arguments if present |
||||
|
if [ "x$1" = "x-v" ]; then { |
||||
|
verb="$1" |
||||
|
shift 1 |
||||
|
}; fi |
||||
|
|
||||
|
if [ "x$1" = "x-u" ]; then { |
||||
|
shift 1 |
||||
|
}; fi |
||||
|
|
||||
|
if [ "x$1" = "x-l" ]; then { |
||||
|
ldpreload="$2" |
||||
|
shift 2 |
||||
|
}; fi |
||||
|
|
||||
|
# Collect the executable name |
||||
|
exename=$(basename $1) |
||||
|
shift |
||||
|
|
||||
|
# Prepare the target directory on the device |
||||
|
currentdir=$(basename $PWD) |
||||
|
targetdir=${ANDROID_TEST_DIRECTORY:-/data/local/tmp/$currentdir} |
||||
|
do_cleanup |
||||
|
trap do_trap_cleanup INT # if someone hits control-c, cleanup the device |
||||
|
|
||||
|
# Collect the list of files to transfer to the target device, starting with executable itself. |
||||
|
fnamelist="$exename" |
||||
|
|
||||
|
# Add the C++ standard library from the NDK, which is required for all tests on Android. |
||||
|
if [ ! -z "${LIB_GNU_STL_ANDROID}" ]; then |
||||
|
fnamelist="$fnamelist ${LIB_GNU_STL_ANDROID}/libgnustl_shared.so" |
||||
|
else |
||||
|
fnamelist="$fnamelist libgnustl_shared.so" |
||||
|
fi |
||||
|
|
||||
|
# Find the TBB libraries and add them to the list. |
||||
|
# Add TBB libraries from the current directory that contains libtbb* files |
||||
|
|
||||
|
files="$(/bin/ls libtbb* 2> /dev/null)" |
||||
|
if [ ! -z "$files" ]; then fnamelist="$fnamelist $files"; fi |
||||
|
|
||||
|
mallocfiles="$(/bin/ls libtbbmalloc* 2> /dev/null)" |
||||
|
if [ ! -z "$mallocfiles" ]; then { |
||||
|
#TODO: any better workaround instead calling echo |
||||
|
#(without echo there is error: /system/bin/sh: libtbbmalloc_proxy.so: not found) |
||||
|
ldpreload="$ldpreload $(echo $mallocfiles)" |
||||
|
}; fi |
||||
|
|
||||
|
if [ ! -z "$ldpreload" ]; then ldpreload="export LD_PRELOAD=$ldpreload;"; fi |
||||
|
|
||||
|
# Add any libraries built for specific tests. |
||||
|
exeroot=${exename%\.*} |
||||
|
files="$(/bin/ls ${exeroot}*.so ${exeroot}*.so.* 2> /dev/null)" |
||||
|
if [ ! -z "$files" ]; then { |
||||
|
fnamelist="$fnamelist $files" |
||||
|
}; fi |
||||
|
|
||||
|
# TODO: Add extra libraries from the Intel(R) Compiler for certain tests |
||||
|
# found=$(echo $exename | egrep 'test_malloc_atexit\|test_malloc_lib_unload' 2> /dev/null) |
||||
|
# if [ ! -z $found ] ; then |
||||
|
# fnamelist="$fnamelist ${compiler_path_lib}/libimf.so \ |
||||
|
# ${compiler_path_lib}/libsvml.so \ |
||||
|
# ${compiler_path_lib}/libintlc.so.5" |
||||
|
# fi |
||||
|
|
||||
|
# Transfer collected executable and library files to the target device. |
||||
|
transfers_ok=1 |
||||
|
for fullname in $fnamelist; do { |
||||
|
if [ -r $fullname ]; then { |
||||
|
# Transfer the executable and libraries to top-level target directory |
||||
|
adb push $fullname ${targetdir}/$(basename $fullname) > /dev/null 2>&1 |
||||
|
}; else { |
||||
|
echo "Error: required file ${currentdir}/${fullname} for test $exename not available for transfer." |
||||
|
transfers_ok=0 |
||||
|
}; fi |
||||
|
}; done |
||||
|
|
||||
|
if [ "${transfers_ok}" = "0" ]; then { |
||||
|
do_cleanup |
||||
|
exit -1 |
||||
|
}; fi |
||||
|
|
||||
|
# Transfer input files used by example codes by scanning the executable argument list. |
||||
|
for fullname in "$@"; do { |
||||
|
if [ -r $fullname ]; then { |
||||
|
directory=$(dirname $fullname) |
||||
|
filename=$(basename $fullname) |
||||
|
# strip leading "." from fullname if present |
||||
|
if [ "$directory" = "\." ]; then { |
||||
|
directory="" |
||||
|
fullname=$filename |
||||
|
}; fi |
||||
|
# Create the target directory to hold input file if necessary |
||||
|
if [ ! -z $directory ]; then { |
||||
|
adb shell "mkdir $directory" > /dev/null 2>&1 |
||||
|
}; fi |
||||
|
# Transfer the input file to corresponding directory on target device |
||||
|
adb push $fullname ${targetdir}/$fullname > /dev/null 2>&1 |
||||
|
}; fi |
||||
|
}; done |
||||
|
|
||||
|
# The return_code file is the best way found to return the status of the test execution when using adb shell. |
||||
|
(adb shell "cd $targetdir; $ldpreload export LD_LIBRARY_PATH=.; ./$exename $verb $*; echo \$? > return_code") | sed -e "s/\\r$//" |
||||
|
|
||||
|
# Capture the return code string and remove the trailing \r from the return_code file contents |
||||
|
exitcode=`(adb shell "cat $targetdir/return_code 2> /dev/null") | sed -e "s/\\r$//"` |
||||
|
|
||||
|
do_cleanup |
||||
|
|
||||
|
# Return the exit code of the test. |
||||
|
exit $exitcode |
@ -0,0 +1,87 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
####### Detections and Commands ############################################### |
||||
|
|
||||
|
# Must set def_prefix according to target architecture detected above |
||||
|
ifeq (ia32,$(arch)) |
||||
|
def_prefix = lin32 |
||||
|
endif |
||||
|
ifeq (arm,$(findstring arm,$(arch))) |
||||
|
def_prefix = lin32 |
||||
|
endif |
||||
|
ifeq (64,$(findstring 64,$(arch))) |
||||
|
def_prefix = lin64 |
||||
|
endif |
||||
|
|
||||
|
gcc_version = $(shell $(tbb_tool_prefix)g++ -dumpversion) |
||||
|
|
||||
|
ifdef ANDROID_NDK_ROOT |
||||
|
$(warning "NDK version $(ANDROID_NDK_ROOT)") |
||||
|
ndk_version:= $(lastword $(subst -, ,$(ANDROID_NDK_ROOT))) |
||||
|
else |
||||
|
$(warning "NDK version not set in environment, using \'unknown\' instead.") |
||||
|
ndk_version:=unknown |
||||
|
endif |
||||
|
|
||||
|
export runtime:=$(target)_cc$(gcc_version)_NDK$(ndk_version)_version_$(target_os_version) |
||||
|
|
||||
|
AR = $(tbb_tool_prefix)ar |
||||
|
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) >version_string.ver |
||||
|
|
||||
|
####### Build settings ######################################################## |
||||
|
|
||||
|
# No SONAME_SUFFIX for Android allowed in library names |
||||
|
TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst |
||||
|
TBB.DEF = $(TBB.LST:.lst=.def) |
||||
|
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL) |
||||
|
TBB.LIB = $(TBB.DLL) |
||||
|
TBB_NO_VERSION.DLL= |
||||
|
LINK_TBB.LIB = $(TBB.LIB) |
||||
|
|
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def |
||||
|
MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOC.LIB = $(MALLOC.DLL) |
||||
|
MALLOC_NO_VERSION.DLL= |
||||
|
LINK_MALLOC.LIB = $(MALLOC.LIB) |
||||
|
|
||||
|
MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def |
||||
|
MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOCPROXY_NO_VERSION.DLL= |
||||
|
MALLOCPROXY.LIB = $(MALLOCPROXY.DLL) |
||||
|
LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB) |
||||
|
|
||||
|
TBB.RES = |
||||
|
MALLOC.RES = |
||||
|
RML.RES = |
||||
|
TBB.MANIFEST = |
||||
|
MALLOC.MANIFEST = |
||||
|
RML.MANIFEST = |
||||
|
OBJ = o |
||||
|
DLL = so |
||||
|
|
||||
|
TEST_LAUNCHER= |
||||
|
run_cmd ?= -sh $(tbb_root)/build/android.linux.launcher.sh $(largs) |
@ -0,0 +1,86 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
####### Detections and Commands ############################################### |
||||
|
|
||||
|
# Must set def_prefix according to target architecture detected above |
||||
|
ifeq (ia32,$(arch)) |
||||
|
def_prefix = lin32 |
||||
|
endif |
||||
|
ifeq (arm,$(findstring arm,$(arch))) |
||||
|
def_prefix = lin32 |
||||
|
endif |
||||
|
ifeq (64,$(findstring 64,$(arch))) |
||||
|
def_prefix = lin64 |
||||
|
endif |
||||
|
|
||||
|
gcc_version = $(shell $(tbb_tool_prefix)g++ -dumpversion) |
||||
|
|
||||
|
ifdef ANDROID_NDK_ROOT |
||||
|
$(warning "NDK version $(ANDROID_NDK_ROOT)") |
||||
|
ndk_version:= $(lastword $(subst -, ,$(ANDROID_NDK_ROOT))) |
||||
|
else |
||||
|
$(warning "NDK version not set in environment, using \'unknown\' instead.") |
||||
|
ndk_version:=unknown |
||||
|
endif |
||||
|
|
||||
|
export runtime:=$(target)_cc$(gcc_version)_NDK$(ndk_version)_version_$(target_os_version) |
||||
|
|
||||
|
AR = $(tbb_tool_prefix)ar |
||||
|
MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(CONLY) $(arch) $(subst \,/,"$(CPLUS) $(CPLUS_FLAGS)") > version_string.ver |
||||
|
|
||||
|
####### Build settings ######################################################## |
||||
|
|
||||
|
# No SONAME_SUFFIX for Android allowed in library names |
||||
|
TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst |
||||
|
TBB.DEF = $(TBB.LST:.lst=.def) |
||||
|
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL) |
||||
|
TBB.LIB = $(TBB.DLL) |
||||
|
TBB_NO_VERSION.DLL= |
||||
|
LINK_TBB.LIB = $(TBB.LIB) |
||||
|
|
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def |
||||
|
MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOC.LIB = $(MALLOC.DLL) |
||||
|
MALLOC_NO_VERSION.DLL= |
||||
|
LINK_MALLOC.LIB = $(MALLOC.LIB) |
||||
|
|
||||
|
MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def |
||||
|
MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOCPROXY_NO_VERSION.DLL= |
||||
|
MALLOCPROXY.LIB = $(MALLOCPROXY.DLL) |
||||
|
|
||||
|
TBB.RES = |
||||
|
MALLOC.RES = |
||||
|
RML.RES = |
||||
|
TBB.MANIFEST = |
||||
|
MALLOC.MANIFEST = |
||||
|
RML.MANIFEST = |
||||
|
OBJ = o |
||||
|
DLL = so |
||||
|
|
||||
|
TEST_LAUNCHER= |
||||
|
run_cmd ?= -sh $(tbb_root)/build/android.linux.launcher.sh $(largs) |
@ -0,0 +1,74 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Defines settings for building the TBB run-time as a static library. |
||||
|
# Use these only on platforms where dynamic linking is impractical. |
||||
|
# |
||||
|
# IF YOU USE TBB AS A STATIC LIBRARY, YOU MUST GUARANTEE THAT ONLY ONE COPY OF |
||||
|
# THE TBB RUN-TIME IS LINKED INTO AN APPLICATION! LINKING IN MULTIPLE COPIES |
||||
|
# OF THE TBB RUN-TIME, DIRECTLY OR INDIRECTLY, MAY CAUSE PROGRAM FAILURE! |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
# Note that ITT_NOTIFY allows to selectively remove the definition of |
||||
|
# DO_ITT_NOTIFY without sabotaging deferred expansion of CPLUS_FLAGS. |
||||
|
# TODO: currently only in linux.{gcc,xl}.inc |
||||
|
|
||||
|
# Note that -pthread with xl gives "1501-210 (W) command option t contains an incorrect subargument"; |
||||
|
# multithreading is instead achieved by using the _r affix in the compiler name. |
||||
|
# TODO: is -lpthread still relevant/needed with XL and _r affix? |
||||
|
|
||||
|
# Note that -D__TBB_NO_DLOPEN is only for scalability, |
||||
|
# and is not necessarily needed by any static build. |
||||
|
|
||||
|
# OS specific settings => |
||||
|
LIB_LINK_CMD = ar rcs |
||||
|
LIB_LINK_FLAGS = |
||||
|
LIB_LINK_LIBS = |
||||
|
LIB_OUTPUT_KEY = |
||||
|
ifeq ($(tbb_os),linux) |
||||
|
ifeq ($(compiler),gcc) |
||||
|
LIBS = -pthread -ldl -lrt |
||||
|
endif |
||||
|
ifeq ($(compiler),xl) |
||||
|
LIBS = -lpthread -ldl -lrt |
||||
|
endif |
||||
|
LINK_FLAGS = |
||||
|
endif |
||||
|
override CXXFLAGS += -D__TBB_DYNAMIC_LOAD_ENABLED=0 -D__TBB_SOURCE_DIRECTLY_INCLUDED=1 |
||||
|
ITT_NOTIFY = |
||||
|
LIBEXT = a |
||||
|
LIBPREF = lib |
||||
|
# <= OS specific settings |
||||
|
|
||||
|
TBB.DLL = $(LIBPREF)tbb$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
TBB.LST = |
||||
|
TBB.DEF = |
||||
|
MALLOC.DLL = $(LIBPREF)tbbmalloc$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
MALLOC.DEF = |
||||
|
MALLOCPROXY.DLL = |
||||
|
MALLOCPROXY.DEF = |
||||
|
LINK_TBB.LIB = $(TBB.DLL) |
@ -0,0 +1,7 @@ |
|||||
|
src/tbb |
||||
|
src/tbbmalloc |
||||
|
include/tbb |
||||
|
src/rml/server |
||||
|
src/rml/client |
||||
|
src/rml/include |
||||
|
source/malloc |
@ -0,0 +1,141 @@ |
|||||
|
# Copyright 2005-2013 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 tbb_os |
||||
|
|
||||
|
# Windows sets environment variable OS; for other systems, ask uname |
||||
|
ifeq ($(OS),) |
||||
|
OS:=$(shell uname) |
||||
|
ifeq ($(OS),) |
||||
|
$(error "Cannot detect operating system") |
||||
|
endif |
||||
|
export tbb_os=$(OS) |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(OS), Windows_NT) |
||||
|
export tbb_os=windows |
||||
|
endif |
||||
|
ifeq ($(OS), Linux) |
||||
|
export tbb_os=linux |
||||
|
endif |
||||
|
ifeq ($(OS), Darwin) |
||||
|
export tbb_os=macos |
||||
|
endif |
||||
|
|
||||
|
endif # !tbb_os |
||||
|
|
||||
|
ifeq ($(tbb_cpf),1) |
||||
|
export CPF_SUFFIX ?=_preview |
||||
|
endif |
||||
|
|
||||
|
ifeq (,$(wildcard $(tbb_root)/build/$(tbb_os).inc)) |
||||
|
$(error "$(tbb_os)" is not supported. Add build/$(tbb_os).inc file with os-specific settings ) |
||||
|
endif |
||||
|
|
||||
|
# detect arch and runtime versions, provide common host-specific definitions |
||||
|
include $(tbb_root)/build/$(tbb_os).inc |
||||
|
|
||||
|
ifeq ($(arch),) |
||||
|
$(error Architecture not detected) |
||||
|
endif |
||||
|
ifeq ($(runtime),) |
||||
|
$(error Runtime version not detected) |
||||
|
endif |
||||
|
|
||||
|
# process target-dependent compilation and testing configurations |
||||
|
ifdef target |
||||
|
# optionally process target-dependent options for compilation and testing |
||||
|
ifneq (,$(wildcard $(tbb_root)/build/$(target).inc)) |
||||
|
include $(tbb_root)/build/$(target).inc |
||||
|
endif |
||||
|
|
||||
|
# optionally process host-dependent environment for target-dependent compilation and testing |
||||
|
ifneq (,$(wildcard $(tbb_root)/build/$(target).$(tbb_os).inc)) |
||||
|
include $(tbb_root)/build/$(target).$(tbb_os).inc |
||||
|
endif |
||||
|
|
||||
|
# insure at least one target-dependent configuration file was found for compilation and testing |
||||
|
ifeq (,$(wildcard $(tbb_root)/build/$(target).inc)$(wildcard $(tbb_root)/build/$(target).$(tbb_os).inc)) |
||||
|
$(error "$(target)" is not supported. Add build/$(target).inc or build/$(target).$(tbb_os).inc file) |
||||
|
endif |
||||
|
endif #target |
||||
|
|
||||
|
# Support for running debug tests to release library and vice versa |
||||
|
flip_cfg=$(subst _flipcfg,_release,$(subst _release,_debug,$(subst _debug,_flipcfg,$(1)))) |
||||
|
cross_cfg = $(if $(crosstest),$(call flip_cfg,$(1)),$(1)) |
||||
|
|
||||
|
ifdef BUILDING_PHASE |
||||
|
# Setting default configuration to release |
||||
|
cfg?=release |
||||
|
# No lambas or other C++0x extensions by default for compilers that implement them as experimental features |
||||
|
# TODO: it should become unnecessary when all relevant tests are "moved" to the TEST_TBB_CPP11 set |
||||
|
lambdas ?= 0 |
||||
|
cpp0x ?= 0 |
||||
|
|
||||
|
ifndef target |
||||
|
target:=$(tbb_os) |
||||
|
endif |
||||
|
# process host/target compiler-dependent build configuration |
||||
|
ifeq (,$(wildcard $(tbb_root)/build/$(target).$(compiler).inc)) |
||||
|
$(error "$(compiler)" is not supported on $(target). Add build/$(target).$(compiler).inc file with compiler-specific settings. ) |
||||
|
endif |
||||
|
include $(tbb_root)/build/$(target).$(compiler).inc |
||||
|
endif |
||||
|
|
||||
|
ifneq ($(BUILDING_PHASE),1) |
||||
|
# definitions for top-level Makefiles |
||||
|
origin_build_dir:=$(origin tbb_build_dir) |
||||
|
tbb_build_dir?=$(tbb_root)$(SLASH)build |
||||
|
tbb_build_prefix?=$(tbb_os)_$(arch)_$(compiler)_$(runtime)$(CPF_SUFFIX) |
||||
|
work_dir=$(tbb_build_dir)$(SLASH)$(tbb_build_prefix) |
||||
|
endif # BUILDING_PHASE != 1 |
||||
|
|
||||
|
ifdef offload |
||||
|
extra_inc=$(offload).offload.inc |
||||
|
endif |
||||
|
ifdef extra_inc |
||||
|
ifneq (,$(wildcard $(tbb_root)/build/$(extra_inc))) |
||||
|
include $(tbb_root)/build/$(extra_inc) |
||||
|
else |
||||
|
$(error specified build file: "build/$(extra_inc)" is not found. ) |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
ifndef BUILDING_PHASE |
||||
|
work_dir:=$(work_dir) |
||||
|
# assign new value for tbb_root if path is not absolute (the filter keeps only /* paths) |
||||
|
ifeq ($(filter /% $(SLASH)%, $(subst :, ,$(tbb_root)) ),) |
||||
|
ifeq ($(origin_build_dir),undefined) |
||||
|
override tbb_root:=../.. |
||||
|
else |
||||
|
override tbb_root:=$(CWD)/$(tbb_root) |
||||
|
endif |
||||
|
endif |
||||
|
export tbb_root |
||||
|
endif # !BUILDING_PHASE |
||||
|
|
||||
|
.DELETE_ON_ERROR: # Make will delete target if error occurred when building it. |
||||
|
|
@ -0,0 +1,129 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
ifeq ($(tbb_strict),1) |
||||
|
ifeq ($(WARNING_AS_ERROR_KEY),) |
||||
|
$(error WARNING_AS_ERROR_KEY is empty) |
||||
|
endif |
||||
|
# Do not remove line below! |
||||
|
WARNING_KEY += $(WARNING_AS_ERROR_KEY) |
||||
|
endif |
||||
|
|
||||
|
ifndef TEST_EXT |
||||
|
TEST_EXT = exe |
||||
|
endif |
||||
|
|
||||
|
.PRECIOUS: %.$(OBJ) %.$(TEST_EXT) %.res |
||||
|
|
||||
|
INCLUDES += $(INCLUDE_KEY)$(tbb_root)/src $(INCLUDE_KEY)$(tbb_root)/src/rml/include $(INCLUDE_KEY)$(tbb_root)/include |
||||
|
|
||||
|
CPLUS_FLAGS += $(WARNING_KEY) $(CXXFLAGS) |
||||
|
ifeq ($(tbb_cpf),1) |
||||
|
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_CPF_BUILD=1 |
||||
|
endif |
||||
|
LINK_FLAGS += $(LDFLAGS) |
||||
|
LIB_LINK_FLAGS += $(LDFLAGS) |
||||
|
CPLUS_FLAGS_NOSTRICT = $(subst -strict-ansi,-ansi,$(CPLUS_FLAGS)) |
||||
|
|
||||
|
LIB_LINK_CMD ?= $(CPLUS) $(PIC_KEY) |
||||
|
ifeq ($(origin LIB_OUTPUT_KEY), undefined) |
||||
|
LIB_OUTPUT_KEY = $(OUTPUT_KEY) |
||||
|
endif |
||||
|
ifeq ($(origin LIB_LINK_LIBS), undefined) |
||||
|
LIB_LINK_LIBS = $(LIBDL) $(LIBS) |
||||
|
endif |
||||
|
|
||||
|
CONLY ?= $(CPLUS) |
||||
|
|
||||
|
# The most generic rules |
||||
|
%.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $< |
||||
|
|
||||
|
%.$(OBJ): %.c |
||||
|
$(CONLY) $(COMPILE_ONLY) $(C_FLAGS) $(INCLUDES) $< |
||||
|
|
||||
|
%.$(OBJ): %.asm |
||||
|
$(ASM) $(ASM_FLAGS) $< |
||||
|
|
||||
|
%.$(OBJ): %.s |
||||
|
cpp <$< | grep -v '^#' >$*.tmp |
||||
|
$(ASM) $(ASM_FLAGS) -o $@ $*.tmp |
||||
|
|
||||
|
# Rule for generating .E file if needed for visual inspection |
||||
|
# Note that due to mapping for ICL all uses of PREPROC_ONLY should be immediately followed by a file name |
||||
|
%.E: %.cpp |
||||
|
$(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $(PREPROC_ONLY) $< >$@ |
||||
|
|
||||
|
# TODO Rule for generating .asm file if needed for visual inspection |
||||
|
%.asm: %.cpp |
||||
|
$(CPLUS) /c /FAs /Fa $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $< |
||||
|
|
||||
|
# TODO Rule for generating .s file if needed for visual inspection |
||||
|
%.s: %.cpp |
||||
|
$(CPLUS) -S $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $< |
||||
|
|
||||
|
# Customizations |
||||
|
|
||||
|
ifeq (1,$(TBB_NOSTRICT)) |
||||
|
# GNU 3.2.3 headers have a ISO syntax that is rejected by Intel compiler in -strict-ansi mode. |
||||
|
# The Mac uses gcc, so the list is empty for that platform. |
||||
|
# The files below need the -strict-ansi flag downgraded to -ansi to compile |
||||
|
|
||||
|
$(KNOWN_NOSTRICT): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS_NOSTRICT) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $< |
||||
|
endif |
||||
|
|
||||
|
$(KNOWN_WARNINGS): %.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $< |
||||
|
|
||||
|
tbb_misc.$(OBJ): tbb_misc.cpp version_string.ver |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDE_KEY). $(INCLUDES) $< |
||||
|
|
||||
|
tbb_misc.E: tbb_misc.cpp version_string.ver |
||||
|
$(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDE_KEY). $(INCLUDES) $(PREPROC_ONLY) $< >$@ |
||||
|
|
||||
|
%.res: %.rc version_string.ver $(TBB.MANIFEST) |
||||
|
rc /Fo$@ $(INCLUDES) $(filter /D%,$(CPLUS_FLAGS)) $< |
||||
|
|
||||
|
ifneq (,$(TBB.MANIFEST)) |
||||
|
$(TBB.MANIFEST): |
||||
|
cmd /C "echo #include ^<stdio.h^> >tbbmanifest.c" |
||||
|
cmd /C "echo int main(){return 0;} >>tbbmanifest.c" |
||||
|
cl /nologo $(C_FLAGS) tbbmanifest.c |
||||
|
|
||||
|
version_string.ver: $(TBB.MANIFEST) |
||||
|
$(MAKE_VERSIONS) |
||||
|
cmd /C "echo #define TBB_MANIFEST 1 >> version_string.ver" |
||||
|
|
||||
|
else |
||||
|
version_string.ver: |
||||
|
$(MAKE_VERSIONS) |
||||
|
endif |
||||
|
|
||||
|
|
||||
|
# Rules for generating a test DLL |
||||
|
%_dll.$(OBJ): %.cpp |
||||
|
$(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $(DEFINE_KEY)_USRDLL $(INCLUDES) $< |
@ -0,0 +1,183 @@ |
|||||
|
// Copyright 2005-2013 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.
|
||||
|
|
||||
|
function doWork() { |
||||
|
var WshShell = WScript.CreateObject("WScript.Shell"); |
||||
|
|
||||
|
var fso = new ActiveXObject("Scripting.FileSystemObject"); |
||||
|
|
||||
|
var tmpExec; |
||||
|
tmpExec = WshShell.Run("cmd /c echo int main(){return 0;} >detect.c", 0, true); |
||||
|
|
||||
|
// The next block deals with GCC (MinGW)
|
||||
|
if ( WScript.Arguments.Count() > 1 && WScript.Arguments(1) == "gcc" ) { |
||||
|
if ( WScript.Arguments(0) == "/arch" ) { |
||||
|
// Get predefined macros
|
||||
|
tmpExec = WshShell.Run("cmd /C gcc -dM -E detect.c > detect.map", 0, true); |
||||
|
var file = fso.OpenTextFile("detect.map", 1, 0); |
||||
|
var defs = file.readAll(); |
||||
|
file.Close(); |
||||
|
|
||||
|
//detect target architecture
|
||||
|
var intel64=/x86_64|amd64/mgi; |
||||
|
var ia32=/i386/mgi; |
||||
|
if ( defs.match(intel64) ) { |
||||
|
WScript.Echo( "intel64" ); |
||||
|
} else if ( defs.match(ia32) ) { |
||||
|
WScript.Echo( "ia32" ); |
||||
|
} else { |
||||
|
WScript.Echo( "unknown" ); |
||||
|
} |
||||
|
} else { |
||||
|
tmpExec = WshShell.Exec("gcc -dumpversion"); |
||||
|
var gcc_version = tmpExec.StdOut.ReadLine(); |
||||
|
if ( WScript.Arguments(0) == "/runtime" ) { |
||||
|
WScript.Echo( "mingw"+gcc_version ); |
||||
|
} |
||||
|
else if ( WScript.Arguments(0) == "/minversion" ) { |
||||
|
// Comparing strings, not numbers; will not work for two-digit versions
|
||||
|
if ( gcc_version >= WScript.Arguments(2) ) { |
||||
|
WScript.Echo( "ok" ); |
||||
|
} else { |
||||
|
WScript.Echo( "fail" ); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
//Compile binary
|
||||
|
tmpExec = WshShell.Exec("cl /MD detect.c /link /MAP"); |
||||
|
while ( tmpExec.Status == 0 ) { |
||||
|
WScript.Sleep(100); |
||||
|
} |
||||
|
//compiler banner that includes version and target arch was printed to stderr
|
||||
|
var clVersion = tmpExec.StdErr.ReadAll(); |
||||
|
|
||||
|
if ( WScript.Arguments(0) == "/arch" ) { |
||||
|
//detect target architecture
|
||||
|
var intel64=/AMD64|EM64T|x64/mgi; |
||||
|
var ia64=/IA-64|Itanium/mgi; |
||||
|
var ia32=/[80|\s]x86/mgi; |
||||
|
if ( clVersion.match(intel64) ) { |
||||
|
WScript.Echo( "intel64" ); |
||||
|
} else if ( clVersion.match(ia64) ) { |
||||
|
WScript.Echo( "ia64" ); |
||||
|
} else if ( clVersion.match(ia32) ) { |
||||
|
WScript.Echo( "ia32" ); |
||||
|
} else { |
||||
|
WScript.Echo( "unknown" ); |
||||
|
} |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if ( WScript.Arguments(0) == "/runtime" ) { |
||||
|
//read map-file
|
||||
|
var map = fso.OpenTextFile("detect.map", 1, 0); |
||||
|
var mapContext = map.readAll(); |
||||
|
map.Close(); |
||||
|
|
||||
|
//detect runtime
|
||||
|
var vc71=/MSVCR71\.DLL/mgi; |
||||
|
var vc80=/MSVCR80\.DLL/mgi; |
||||
|
var vc90=/MSVCR90\.DLL/mgi; |
||||
|
var vc100=/MSVCR100\.DLL/mgi; |
||||
|
var vc110=/MSVCR110\.DLL/mgi; |
||||
|
var psdk=/MSVCRT\.DLL/mgi; |
||||
|
if ( mapContext.match(vc71) ) { |
||||
|
WScript.Echo( "vc7.1" ); |
||||
|
} else if ( mapContext.match(vc80) ) { |
||||
|
WScript.Echo( "vc8" ); |
||||
|
} else if ( mapContext.match(vc90) ) { |
||||
|
WScript.Echo( "vc9" ); |
||||
|
} else if ( mapContext.match(vc100) ) { |
||||
|
WScript.Echo( "vc10" ); |
||||
|
} else if ( mapContext.match(vc110) ) { |
||||
|
WScript.Echo( "vc11" ); |
||||
|
} else { |
||||
|
WScript.Echo( "unknown" ); |
||||
|
} |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if ( WScript.Arguments(0) == "/minversion" ) { |
||||
|
var compiler_version; |
||||
|
if ( WScript.Arguments(1) == "cl" ) { |
||||
|
compiler_version = clVersion.match(/Compiler Version ([0-9.]+)\s/mi)[1]; |
||||
|
// compiler_version is in xx.xx.xxxxx.xx format, i.e. a string.
|
||||
|
// It will compare well with major.minor versions where major has two digits,
|
||||
|
// which is sufficient as the versions of interest start from 13 (for VC7).
|
||||
|
} else if ( WScript.Arguments(1) == "icl" ) { |
||||
|
// Get predefined ICL macros
|
||||
|
tmpExec = WshShell.Run("cmd /C icl /QdM /E detect.c > detect.map", 0, true); |
||||
|
var file = fso.OpenTextFile("detect.map", 1, 0); |
||||
|
var defs = file.readAll(); |
||||
|
file.Close(); |
||||
|
// In #define __INTEL_COMPILER XXYY, XX is the major ICL version, YY is minor
|
||||
|
compiler_version = defs.match(/__INTEL_COMPILER[ \t]*([0-9]+).*$/mi)[1]/100; |
||||
|
// compiler version is a number; it compares well with another major.minor
|
||||
|
// version number, where major has one, two, and perhaps more digits (9.1, 11, etc).
|
||||
|
} |
||||
|
if ( compiler_version >= WScript.Arguments(2) ) { |
||||
|
WScript.Echo( "ok" ); |
||||
|
} else { |
||||
|
WScript.Echo( "fail" ); |
||||
|
} |
||||
|
return; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function doClean() { |
||||
|
var fso = new ActiveXObject("Scripting.FileSystemObject"); |
||||
|
// delete intermediate files
|
||||
|
if ( fso.FileExists("detect.c") ) |
||||
|
fso.DeleteFile ("detect.c", false); |
||||
|
if ( fso.FileExists("detect.obj") ) |
||||
|
fso.DeleteFile ("detect.obj", false); |
||||
|
if ( fso.FileExists("detect.map") ) |
||||
|
fso.DeleteFile ("detect.map", false); |
||||
|
if ( fso.FileExists("detect.exe") ) |
||||
|
fso.DeleteFile ("detect.exe", false); |
||||
|
if ( fso.FileExists("detect.exe.manifest") ) |
||||
|
fso.DeleteFile ("detect.exe.manifest", false); |
||||
|
} |
||||
|
|
||||
|
if ( WScript.Arguments.Count() > 0 ) { |
||||
|
|
||||
|
try { |
||||
|
doWork(); |
||||
|
} catch( error ) { |
||||
|
WScript.Echo( "unknown" ); |
||||
|
} |
||||
|
doClean(); |
||||
|
|
||||
|
} else { |
||||
|
WScript.Echo( "Supported options:\n" |
||||
|
+ "\t/arch [compiler]\n" |
||||
|
+ "\t/runtime [compiler]\n" |
||||
|
+ "\t/minversion compiler version" ); |
||||
|
} |
||||
|
|
@ -0,0 +1,77 @@ |
|||||
|
@echo off |
||||
|
REM |
||||
|
REM Copyright 2005-2013 Intel Corporation. All Rights Reserved. |
||||
|
REM |
||||
|
REM This file is part of Threading Building Blocks. |
||||
|
REM |
||||
|
REM Threading Building Blocks is free software; you can redistribute it |
||||
|
REM and/or modify it under the terms of the GNU General Public License |
||||
|
REM version 2 as published by the Free Software Foundation. |
||||
|
REM |
||||
|
REM Threading Building Blocks is distributed in the hope that it will be |
||||
|
REM useful, but WITHOUT ANY WARRANTY; without even the implied warranty |
||||
|
REM of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
REM GNU General Public License for more details. |
||||
|
REM |
||||
|
REM You should have received a copy of the GNU General Public License |
||||
|
REM along with Threading Building Blocks; if not, write to the Free Software |
||||
|
REM Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
||||
|
REM |
||||
|
REM As a special exception, you may use this file as part of a free software |
||||
|
REM library without restriction. Specifically, if other files instantiate |
||||
|
REM templates or use macros or inline functions from this file, or you compile |
||||
|
REM this file and link it with other files to produce an executable, this |
||||
|
REM file does not by itself cause the resulting executable to be covered by |
||||
|
REM the GNU General Public License. This exception does not however |
||||
|
REM invalidate any other reasons why the executable file might be covered by |
||||
|
REM the GNU General Public License. |
||||
|
REM |
||||
|
setlocal |
||||
|
for %%D in ("%tbb_root%") do set actual_root=%%~fD |
||||
|
set fslash_root=%actual_root:\=/% |
||||
|
set bin_dir=%CD% |
||||
|
set fslash_bin_dir=%bin_dir:\=/% |
||||
|
set _INCLUDE=INCLUDE& set _LIB=LIB |
||||
|
if not x%UNIXMODE%==x set _INCLUDE=CPATH& set _LIB=LIBRARY_PATH |
||||
|
|
||||
|
if exist tbbvars.bat goto skipbat |
||||
|
echo Generating local tbbvars.bat |
||||
|
echo @echo off>tbbvars.bat |
||||
|
echo SET TBBROOT=%actual_root%>>tbbvars.bat |
||||
|
echo SET TBB_ARCH_PLATFORM=%arch%\%runtime%>>tbbvars.bat |
||||
|
echo SET TBB_TARGET_ARCH=%arch%>>tbbvars.bat |
||||
|
echo SET %_INCLUDE%=%%TBBROOT%%\include;%%%_INCLUDE%%%>>tbbvars.bat |
||||
|
echo SET %_LIB%=%bin_dir%;%%%_LIB%%%>>tbbvars.bat |
||||
|
echo SET PATH=%bin_dir%;%%PATH%%>>tbbvars.bat |
||||
|
if not x%UNIXMODE%==x echo SET LD_LIBRARY_PATH=%bin_dir%;%%LD_LIBRARY_PATH%%>>tbbvars.bat |
||||
|
:skipbat |
||||
|
|
||||
|
if exist tbbvars.sh goto skipsh |
||||
|
echo Generating local tbbvars.sh |
||||
|
echo #!/bin/sh>tbbvars.sh |
||||
|
echo export TBBROOT="%fslash_root%">>tbbvars.sh |
||||
|
echo export TBB_ARCH_PLATFORM="%arch%\%runtime%">>tbbvars.sh |
||||
|
echo export TBB_TARGET_ARCH="%arch%">>tbbvars.sh |
||||
|
echo export %_INCLUDE%="${TBBROOT}/include;$%_INCLUDE%">>tbbvars.sh |
||||
|
echo export %_LIB%="%fslash_bin_dir%;$%_LIB%">>tbbvars.sh |
||||
|
echo export PATH="%fslash_bin_dir%;$PATH">>tbbvars.sh |
||||
|
if not x%UNIXMODE%==x echo export LD_LIBRARY_PATH="%fslash_bin_dir%;$LD_LIBRARY_PATH">>tbbvars.sh |
||||
|
:skipsh |
||||
|
|
||||
|
if exist tbbvars.csh goto skipcsh |
||||
|
echo Generating local tbbvars.csh |
||||
|
echo #!/bin/csh>tbbvars.csh |
||||
|
echo setenv TBBROOT "%actual_root%">>tbbvars.csh |
||||
|
echo setenv TBB_ARCH_PLATFORM "%arch%\%runtime%">>tbbvars.csh |
||||
|
echo setenv TBB_TARGET_ARCH "%arch%">>tbbvars.csh |
||||
|
echo setenv %_INCLUDE% "${TBBROOT}\include;$%_INCLUDE%">>tbbvars.csh |
||||
|
echo setenv %_LIB% "%bin_dir%;$%_LIB%">>tbbvars.csh |
||||
|
echo setenv PATH "%bin_dir%;$PATH">>tbbvars.csh |
||||
|
if not x%UNIXMODE%==x echo setenv LD_LIBRARY_PATH "%bin_dir%;$LD_LIBRARY_PATH">>tbbvars.csh |
||||
|
:skipcsh |
||||
|
|
||||
|
REM Workaround for copying Android* specific libgnustl_shared.so library to work folder |
||||
|
if not x%LIB_GNU_STL_ANDROID%==x copy /Y "%LIB_GNU_STL_ANDROID%"\libgnustl_shared.so |
||||
|
|
||||
|
endlocal |
||||
|
exit |
@ -0,0 +1,81 @@ |
|||||
|
#!/bin/bash |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Script used to generate tbbvars.[c]sh scripts |
||||
|
bin_dir="$PWD" # |
||||
|
cd "$tbb_root" # keep this comments here |
||||
|
tbb_root="$PWD" # to make it unsensible |
||||
|
cd "$bin_dir" # to EOL encoding |
||||
|
[ "`uname`" = "Darwin" ] && dll_path="DYLD_LIBRARY_PATH" || dll_path="LD_LIBRARY_PATH" # |
||||
|
[ -f ./tbbvars.sh ] || cat >./tbbvars.sh <<EOF |
||||
|
#!/bin/bash |
||||
|
export TBBROOT="${tbb_root}" # |
||||
|
tbb_bin="${bin_dir}" # |
||||
|
if [ -z "\$CPATH" ]; then # |
||||
|
export CPATH="\${TBBROOT}/include" # |
||||
|
else # |
||||
|
export CPATH="\${TBBROOT}/include:\$CPATH" # |
||||
|
fi # |
||||
|
if [ -z "\$LIBRARY_PATH" ]; then # |
||||
|
export LIBRARY_PATH="\${tbb_bin}" # |
||||
|
else # |
||||
|
export LIBRARY_PATH="\${tbb_bin}:\$LIBRARY_PATH" # |
||||
|
fi # |
||||
|
if [ -z "\$${dll_path}" ]; then # |
||||
|
export ${dll_path}="\${tbb_bin}" # |
||||
|
else # |
||||
|
export ${dll_path}="\${tbb_bin}:\$${dll_path}" # |
||||
|
fi # |
||||
|
${TBB_CUSTOM_VARS_SH} # |
||||
|
EOF |
||||
|
[ -f ./tbbvars.csh ] || cat >./tbbvars.csh <<EOF |
||||
|
#!/bin/csh |
||||
|
setenv TBBROOT "${tbb_root}" # |
||||
|
setenv tbb_bin "${bin_dir}" # |
||||
|
if (! \$?CPATH) then # |
||||
|
setenv CPATH "\${TBBROOT}/include" # |
||||
|
else # |
||||
|
setenv CPATH "\${TBBROOT}/include:\$CPATH" # |
||||
|
endif # |
||||
|
if (! \$?LIBRARY_PATH) then # |
||||
|
setenv LIBRARY_PATH "\${tbb_bin}" # |
||||
|
else # |
||||
|
setenv LIBRARY_PATH "\${tbb_bin}:\$LIBRARY_PATH" # |
||||
|
endif # |
||||
|
if (! \$?${dll_path}) then # |
||||
|
setenv ${dll_path} "\${tbb_bin}" # |
||||
|
else # |
||||
|
setenv ${dll_path} "\${tbb_bin}:\$${dll_path}" # |
||||
|
endif # |
||||
|
${TBB_CUSTOM_VARS_CSH} # |
||||
|
EOF |
||||
|
|
||||
|
# Workaround for copying Android* specific libgnustl_shared.so library to "." |
||||
|
if [ ! -z "${LIB_GNU_STL_ANDROID}" ]; then |
||||
|
cp ${LIB_GNU_STL_ANDROID}/libgnustl_shared.so . |
||||
|
fi |
@ -0,0 +1,242 @@ |
|||||
|
<HTML> |
||||
|
<BODY> |
||||
|
|
||||
|
<H2>Overview</H2> |
||||
|
This directory contains the internal Makefile infrastructure for Intel® Threading Building Blocks (Intel® TBB). |
||||
|
|
||||
|
<P> |
||||
|
See below for how to <A HREF=#build>build</A> Intel TBB and how to <A HREF=#port>port</A> Intel TBB |
||||
|
to a new platform, operating system or architecture. |
||||
|
</P> |
||||
|
|
||||
|
<H2>Files</H2> |
||||
|
The files here are not intended to be used directly. See below for usage. |
||||
|
<DL> |
||||
|
<DT><A HREF="Makefile.tbb">Makefile.tbb</A> |
||||
|
<DD>Main Makefile to build the Intel TBB library. |
||||
|
Invoked via 'make tbb' from <A HREF=../Makefile>top-level Makefile</A>. |
||||
|
<DT><A HREF="Makefile.tbbmalloc">Makefile.tbbmalloc</A> |
||||
|
<DD>Main Makefile to build the Intel TBB scalable memory allocator library as well as its tests. |
||||
|
Invoked via 'make tbbmalloc' from <A HREF=../Makefile>top-level Makefile</A>. |
||||
|
<DT><A HREF="Makefile.test">Makefile.test</A> |
||||
|
<DD>Main Makefile to build and run the tests for the Intel TBB library. |
||||
|
Invoked via 'make test' from <A HREF=../Makefile>top-level Makefile</A>. |
||||
|
<DT><A HREF="common.inc">common.inc</A> |
||||
|
<DD>Main common included Makefile that includes OS-specific and compiler-specific Makefiles. |
||||
|
<DT><os>.inc |
||||
|
<DD>OS-specific Makefile for a particular <os>. |
||||
|
<DT><os>.<compiler>.inc |
||||
|
<DD>Compiler-specific Makefile for a particular <os> / <compiler> combination. |
||||
|
<DT>*.sh |
||||
|
<DD>Infrastructure utilities for Linux* OS, OS X*, and UNIX*-related operating systems. |
||||
|
<DT>*.js, *.bat |
||||
|
<DD>Infrastructure utilities for Windows* OS. |
||||
|
</DL> |
||||
|
|
||||
|
<A NAME=build><H2>To Build</H2></A> |
||||
|
<P> |
||||
|
To port Intel TBB to a new platform, operating system or architecture, see the <A HREF=#port>porting directions</A> below. |
||||
|
</P> |
||||
|
|
||||
|
<H3>Software prerequisites:</H3> |
||||
|
<OL> |
||||
|
<LI>C++ compiler for the platform, operating system and architecture of interest. |
||||
|
Either the native compiler for your system, or, optionally, the appropriate Intel® C++ compiler, may be used. |
||||
|
<LI>GNU make utility. On Windows OS, if a UNIX* emulator is used to run GNU make, |
||||
|
it should be able to run Windows OS utilities and commands. On Linux OS, OS X, etc., |
||||
|
shell commands issued by GNU make should execute in a Bourne or BASH compatible shell. |
||||
|
</OL> |
||||
|
|
||||
|
<P> |
||||
|
Intel TBB libraries can be built by performing the following steps. |
||||
|
On systems that support only one ABI (e.g., 32-bit), these steps build the libraries for that ABI. |
||||
|
On systems that support both 64-bit and 32-bit libraries, these steps build the 64-bit libraries |
||||
|
(Linux OS, OS X, and related systems) or whichever ABI is selected in the development environment (Windows OS). |
||||
|
</P> |
||||
|
<OL> |
||||
|
<LI>Change to the <A HREF=../index.html>top-level directory</A> of the installed software. |
||||
|
<LI>If using the Intel® C++ compiler, make sure the appropriate compiler is available in your PATH |
||||
|
(e.g., by sourcing the appropriate iccvars script for the compiler to be used). |
||||
|
<LI>Invoke GNU make using no arguments, for example, 'gmake'. |
||||
|
</OL> |
||||
|
|
||||
|
<P> |
||||
|
To build Intel TBB libraries for other than the default ABI (e.g., to build 32-bit libraries on Linux OS, OS X, |
||||
|
or related systems that support both 64-bit and 32-bit libraries), perform the following steps: |
||||
|
</P> |
||||
|
<OL> |
||||
|
<LI>Change to the <A HREF=../index.html>top-level directory</A> of the installed software. |
||||
|
<LI>If using the Intel® C++ compiler, make sure the appropriate compiler is available in your PATH |
||||
|
(e.g., by sourcing the appropriate iccvars script for the compiler to be used). |
||||
|
<LI>Invoke GNU make as follows, 'gmake arch=ia32'. |
||||
|
</OL> |
||||
|
|
||||
|
<P>The default make target will build the release and debug versions of the Intel TBB library.</P> |
||||
|
<P>Other targets are available in the top-level Makefile. You might find the following targets useful: |
||||
|
<UL> |
||||
|
<LI>'make test' will build and run Intel TBB <A HREF=../src/test>unit-tests</A>; |
||||
|
<LI>'make examples' will build and run Intel TBB <A HREF=../examples/index.html>examples</A>; |
||||
|
<LI>'make all' will do all of the above. |
||||
|
</UL> |
||||
|
See also the list of other targets below. |
||||
|
</P> |
||||
|
|
||||
|
<P> |
||||
|
By default, the libraries will be built in sub-directories within the build/ directory. |
||||
|
The sub-directories are named according to the operating system, architecture, compiler and software environment used |
||||
|
(the sub-directory names also distinguish release vs. debug libraries). On Linux OS, the software environment comprises |
||||
|
the GCC, libc and kernel version used. On OS X, the software environment comprises the GCC and OS version used. |
||||
|
On Windows OS, the software environment comprises the Microsoft* Visual Studio* version used. |
||||
|
See below for how to change the default build directory. |
||||
|
</P> |
||||
|
|
||||
|
<P> |
||||
|
To perform different build and/or test operations, use the following steps. |
||||
|
</P> |
||||
|
<OL> |
||||
|
<LI>Change to the <A HREF=../index.html>top-level directory</A> of the installed software. |
||||
|
<LI>If using the Intel® C++ compiler, make sure the appropriate compiler is available in your PATH |
||||
|
(e.g., by sourcing the appropriate iccvars script for the compiler to be used). |
||||
|
<LI>Invoke GNU make by using one or more of the following commands. |
||||
|
<DL> |
||||
|
<DT><TT>make</TT> |
||||
|
<DD>Default build. Equivalent to 'make tbb tbbmalloc'. |
||||
|
<DT><TT>make all</TT> |
||||
|
<DD>Equivalent to 'make tbb tbbmalloc test examples'. |
||||
|
<DT><TT>cd src;make release</TT> |
||||
|
<DD>Build and test release libraries only. |
||||
|
<DT><TT>cd src;make debug</TT> |
||||
|
<DD>Build and test debug libraries only. |
||||
|
<DT><TT>make tbb</TT> |
||||
|
<DD>Make Intel TBB release and debug libraries. |
||||
|
<DT><TT>make tbbmalloc</TT> |
||||
|
<DD>Make Intel TBB scalable memory allocator libraries. |
||||
|
<DT><TT>make test</TT> |
||||
|
<DD>Compile and run unit-tests |
||||
|
<DT><TT>make examples</TT> |
||||
|
<DD>Build libraries and run all examples, like doing 'make debug clean release' from |
||||
|
<A HREF=../examples/Makefile>the general example Makefile</A>. |
||||
|
<DT><TT>make compiler=<B>{</B>icl, icc, gcc, clang<B>}</B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but use specified compilers instead of default, native compilers |
||||
|
<LI><TT><B> {</B>icl, icc<B>}</B> </TT> - to use Intel® compilers (<TT>icl</TT> on Windows OS, <TT>icc</TT> on Linux OS or OS X). </LI> |
||||
|
<LI><TT>gcc</TT> - to use g++ (e.g. MinGW on Windows OS)</LI> |
||||
|
<LI><TT>clang</TT> - to use Clang compiler</LI> |
||||
|
<DT><TT>make compiler=clang stdlib=libc++ </B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but use <TT>libc++</TT> as a standard c++ library for clang. |
||||
|
<DT><TT>make target_ui=win8ui [target_ui_mode=production]</B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but use API that is compliant with Windows Store* applications. |
||||
|
<TT>target_ui_mode=production</TT> is used to produce binaries that are compliant with Windows Store* application container. |
||||
|
In later case they won't with Intel TBB unit tests but work only with Windows Store* applications. |
||||
|
<DT><TT>ndk-build target=android</B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but build libraries for Android* OS by Android NDK that should be installed. Makefiles were tested with revision 8. |
||||
|
<DT><TT>make arch=<B>{</B>ia32, intel64, ia64<B>}</B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but build libraries for the selected ABI. |
||||
|
Might be useful for cross-compilation; ensure proper environment is set before running this command. |
||||
|
<DT><TT>make tbb_root=<B>{</B>(Intel TBB directory)<B>}</B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above; for use when invoking 'make' from a directory other than |
||||
|
the <A HREF=../index.html>top-level directory</A>. |
||||
|
<DT><TT>make tbb_build_dir=<B>{</B>(build directory)<B>}</B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but place the built libraries in the specified directory, rather than in the default |
||||
|
sub-directory within the build/ directory. This command might have troubles with the build in case the sources |
||||
|
installed to the directory with spaces in the path. |
||||
|
<DT><TT>make tbb_build_prefix=<B>{</B>(build sub-directory)<B>}</B> <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but place the built libraries in the specified sub-directory within the build/ directory, |
||||
|
rather than using the default sub-directory name. |
||||
|
<DT><TT>make tbb_cpf=1 <B>[</B>(above options or targets)<B>]</B></TT> |
||||
|
<DD>Build and run as above, but build and use libraries with the Community Preview Features enabled, |
||||
|
rather than the default libraries. |
||||
|
<DT><TT>make <B>[</B>(above options)<B>]</B> clean</TT> |
||||
|
<DD>Remove any executables or intermediate files produced by the above commands. |
||||
|
Includes build directories, object files, libraries and test executables. |
||||
|
</DL> |
||||
|
</OL> |
||||
|
|
||||
|
<A NAME=port><H2>To Port</H2></A> |
||||
|
<P> |
||||
|
This section provides information on how to port Intel TBB to a new platform, operating system or architecture. |
||||
|
A subset or a superset of these steps may be required for porting to a given platform. |
||||
|
</P> |
||||
|
|
||||
|
<H4>To port the Intel TBB source code:</H4> |
||||
|
<OL> |
||||
|
<LI>If porting to a new architecture, create a file that describes the architecture-specific details for that architecture. |
||||
|
<UL> |
||||
|
<LI>Create a <os>_<architecture>.h file in the <A HREF=../include/tbb/machine>include/tbb/machine</A> directory |
||||
|
that describes these details. |
||||
|
<UL> |
||||
|
<LI>The <os>_<architecture>.h is named after the operating system and architecture as recognized by |
||||
|
<A HREF=../include/tbb/tbb_machine.h>include/tbb/tbb_machine.h</A> and the Makefile infrastructure. |
||||
|
<LI>This file defines the implementations of synchronization operations, and also the |
||||
|
scheduler yield function, for the operating system and architecture. |
||||
|
<LI>Several examples of <os>_<architecture>.h files can be found in the |
||||
|
<A HREF=../include/tbb/machine>include/tbb/machine</A> directory. |
||||
|
<UL> |
||||
|
<LI>A minimal implementation defines the 4-byte and 8-byte compare-and-swap operations, |
||||
|
and the scheduler yield function. See <A HREF=../include/tbb/machine/mac_ppc.h>include/tbb/machine/mac_ppc.h</A> |
||||
|
for an example of a minimal implementation. |
||||
|
<LI>More complex implementation examples can also be found in the |
||||
|
<A HREF=../include/tbb/machine>include/tbb/machine</A> directory |
||||
|
that implement all the individual variants of synchronization operations that Intel TBB uses. |
||||
|
Such implementations are more verbose but may achieve better performance on a given architecture. |
||||
|
<LI>In a given implementation, any synchronization operation that is not defined is implemented, by default, |
||||
|
in terms of 4-byte or 8-byte compare-and-swap. More operations can thus be added incrementally to increase |
||||
|
the performance of an implementation. |
||||
|
<LI>In most cases, synchronization operations are implemented as inline assembly code; examples also exist, |
||||
|
(e.g., for Intel® Itanium® processors) that use out-of-line assembly code in *.s or *.asm files |
||||
|
(see the assembly code sub-directories in the <A HREF=../src/tbb>src/tbb</A> directory). |
||||
|
</UL> |
||||
|
</UL> |
||||
|
<LI>Modify <A HREF=../include/tbb/tbb_machine.h>include/tbb/tbb_machine.h</A>, if needed, to invoke the appropriate |
||||
|
<os>_<architecture>.h file in the <A HREF=../include/tbb/machine>include/tbb/machine</A> directory. |
||||
|
</UL> |
||||
|
<LI>Add an implementation of DetectNumberOfWorkers() in <A HREF=../src/tbb/tbb_misc.h>src/tbb/tbb_misc.h</A>, |
||||
|
that returns the number of cores found on the system in case it is not supported by the current implementation. |
||||
|
This is used to determine the default number of threads for the Intel TBB task scheduler. |
||||
|
<LI>Either properly define FillDynamicLinks for use in |
||||
|
<A HREF=../src/tbb/cache_aligned_allocator.cpp>src/tbb/cache_aligned_allocator.cpp</A>, |
||||
|
or hardcode the allocator to be used. |
||||
|
<LI>Additional types might be required in the union defined in |
||||
|
<A HREF=../include/tbb/aligned_space.h>include/tbb/aligned_space.h</A> |
||||
|
to ensure proper alignment on your platform. |
||||
|
<LI>Changes may be required in <A HREF=../include/tbb/tick_count.h>include/tbb/tick_count.h</A> |
||||
|
for systems that do not provide gettimeofday. |
||||
|
</OL> |
||||
|
|
||||
|
<H4>To port the Makefile infrastructure:</H4> |
||||
|
Modify the appropriate files in the Makefile infrastructure to add a new platform, operating system or architecture as needed. |
||||
|
See the Makefile infrastructure files for examples. |
||||
|
<OL> |
||||
|
<LI>The <A HREF=../Makefile>top-level Makefile</A> includes <A HREF=common.inc>common.inc</A> to determine the operating system. |
||||
|
<UL> |
||||
|
<LI>To add a new operating system, add the appropriate test to <A HREF=common.inc>common.inc</A>, |
||||
|
and create the needed <os>.inc and <os>.<compiler>.inc files (see below). |
||||
|
</UL> |
||||
|
<LI>The <os>.inc file makes OS-specific settings for a particular operating systems. |
||||
|
<UL> |
||||
|
<LI>For example, <A HREF=linux.inc>linux.inc</A> makes settings specific to Linux operating systems. |
||||
|
<LI>This file performs OS-dependent tests to determine the specific platform and/or architecture, |
||||
|
and sets other platform-dependent values. |
||||
|
<LI>Add a new <os>.inc file for each new operating system added. |
||||
|
</UL> |
||||
|
<LI>The <os>.<compiler>.inc file makes compiler-specific settings for a particular |
||||
|
<os> / <compiler> combination. |
||||
|
<UL> |
||||
|
<LI>For example, <A HREF=linux.gcc.inc>linux.gcc.inc</A> makes specific settings for using GCC on Linux OS, |
||||
|
and <A HREF=linux.icc.inc>linux.icc.inc</A> makes specific settings for using the Intel® C++ compiler on Linux OS. |
||||
|
<LI>This file sets particular compiler, assembler and linker options required when using a particular |
||||
|
<os> / <compiler> combination. |
||||
|
<LI>Add a new <os>.<compiler>.inc file for each new <os> / <compiler> combination added. |
||||
|
</UL> |
||||
|
</OL> |
||||
|
|
||||
|
<HR> |
||||
|
<A HREF="../index.html">Up to parent directory</A> |
||||
|
<P></P> |
||||
|
Copyright © 2005-2013 Intel Corporation. All Rights Reserved. |
||||
|
<P></P> |
||||
|
Intel and Itanium are registered trademarks or trademarks of Intel Corporation or its |
||||
|
subsidiaries in the United States and other countries. |
||||
|
<p></p> |
||||
|
* Other names and brands may be claimed as the property of others. |
||||
|
</BODY> |
||||
|
</HTML> |
@ -0,0 +1,145 @@ |
|||||
|
# Copyright 2005-2013 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 = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor $(if $(findstring cc4., $(runtime)),-Wextra) |
||||
|
|
||||
|
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor |
||||
|
DYLIB_KEY = -shared |
||||
|
EXPORT_KEY = -Wl,--version-script, |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = g++ |
||||
|
CONLY = gcc |
||||
|
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) |
||||
|
LIBS += -lpthread -lrt |
||||
|
LINK_FLAGS = -Wl,-rpath-link=. |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
# gcc 4.4 and higher support -std=c++0x |
||||
|
ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[4-9]|[5-9])")) |
||||
|
CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X |
||||
|
endif |
||||
|
|
||||
|
# gcc 4.2 and higher support OpenMP |
||||
|
ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])")) |
||||
|
OPENMP_FLAG = -fopenmp |
||||
|
endif |
||||
|
|
||||
|
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 (00,$(lambdas)$(cpp0x)) |
||||
|
CXX_ONLY_FLAGS += $(CPP11_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
TBB_ASM.OBJ= |
||||
|
MALLOC_ASM.OBJ= |
||||
|
|
||||
|
ifeq (ia64,$(arch)) |
||||
|
# Position-independent code (PIC) is a must on IA-64, even for regular (not shared) executables |
||||
|
CPLUS_FLAGS += $(PIC_KEY) |
||||
|
endif |
||||
|
|
||||
|
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 (bgp,$(arch)) |
||||
|
CPLUS = mpicxx |
||||
|
CONLY = mpicc |
||||
|
endif |
||||
|
|
||||
|
# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify) |
||||
|
ifeq (sparc,$(arch)) |
||||
|
CPLUS_FLAGS += -mcpu=v9 -m64 |
||||
|
LIB_LINK_FLAGS += -mcpu=v9 -m64 |
||||
|
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 |
||||
|
ifeq (ia64,$(arch)) |
||||
|
ASM_FLAGS += -xexplicit |
||||
|
TBB_ASM.OBJ += atomic_support.o lock_byte.o log2.o pause.o ia64_misc.o |
||||
|
MALLOC_ASM.OBJ += atomic_support.o lock_byte.o pause.o log2.o |
||||
|
endif |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions -fno-schedule-insns2 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,126 @@ |
|||||
|
# Copyright 2005-2013 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 = -w1 |
||||
|
DYLIB_KEY = -shared |
||||
|
EXPORT_KEY = -Wl,--version-script, |
||||
|
NOINTRINSIC_KEY = -fno-builtin |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = icpc |
||||
|
CONLY = icc |
||||
|
|
||||
|
ITT_NOTIFY = -DDO_ITT_NOTIFY |
||||
|
ifeq (release,$(cfg)) |
||||
|
CPLUS_FLAGS = $(ITT_NOTIFY) -O2 -g -DUSE_PTHREAD |
||||
|
else |
||||
|
CPLUS_FLAGS = $(ITT_NOTIFY) -O0 -g -DUSE_PTHREAD -DTBB_USE_DEBUG |
||||
|
endif |
||||
|
|
||||
|
OPENMP_FLAG = -openmp |
||||
|
LIB_LINK_FLAGS = -shared -i-static -Wl,-soname=$(BUILDING_LIBRARY) |
||||
|
LIBS += -lpthread -lrt |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
# ICC 11.0 and higher support -std=c++0x |
||||
|
ifneq (,$(shell icc -dumpversion | egrep "^1[1-9]\.")) |
||||
|
CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X |
||||
|
endif |
||||
|
|
||||
|
# ICC 12.0 and higher provide Intel(R) Cilk Plus |
||||
|
ifneq (,$(shell icc -dumpversion | egrep "^1[2-9]\.")) |
||||
|
CILK_AVAILABLE = yes |
||||
|
endif |
||||
|
|
||||
|
TBB_ASM.OBJ= |
||||
|
MALLOC_ASM.OBJ= |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 -falign-stack=maintain-16-byte |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia64,$(arch)) |
||||
|
ITT_NOTIFY = |
||||
|
# Position-independent code (PIC) is a must on IA-64, even for regular (not shared) executables |
||||
|
# strict-ansi does not work with <signal.h> on RHEL 4 AS |
||||
|
CPLUS_FLAGS += $(PIC_KEY) $(if $(findstring cc3.,$(runtime)),-ansi,-strict-ansi) |
||||
|
else |
||||
|
CPLUS_FLAGS += -strict-ansi |
||||
|
endif |
||||
|
|
||||
|
ifneq (,$(codecov)) |
||||
|
# no tool support for code coverage, need profile data generation |
||||
|
ITT_NOTIFY = -prof-genx |
||||
|
endif |
||||
|
|
||||
|
ifneq (00,$(lambdas)$(cpp0x)) |
||||
|
CPLUS_FLAGS += $(CPP11_FLAGS) |
||||
|
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 |
||||
|
ifeq (ia64,$(arch)) |
||||
|
ASM_FLAGS += -xexplicit |
||||
|
TBB_ASM.OBJ += atomic_support.o lock_byte.o log2.o pause.o ia64_misc.o |
||||
|
MALLOC_ASM.OBJ += atomic_support.o lock_byte.o pause.o log2.o |
||||
|
endif |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
@ -0,0 +1,141 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
####### Detections and Commands ############################################### |
||||
|
|
||||
|
ifeq (icc,$(compiler)) |
||||
|
export COMPILER_VERSION := ICC: $(shell icc -V </dev/null 2>&1 | grep 'Version') |
||||
|
ifneq (,$(findstring IA-32, $(COMPILER_VERSION))) |
||||
|
export arch:=ia32 |
||||
|
endif |
||||
|
ifneq (,$(findstring Intel(R) 64, $(COMPILER_VERSION))) |
||||
|
export arch:=intel64 |
||||
|
endif |
||||
|
ifneq (,$(findstring IA-64, $(COMPILER_VERSION))) |
||||
|
export arch:=ia64 |
||||
|
endif |
||||
|
ifeq (,$(arch)) |
||||
|
$(warning "Unknown Intel compiler") |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
ifndef arch |
||||
|
uname_m:=$(shell uname -m) |
||||
|
ifeq ($(uname_m),i686) |
||||
|
export arch:=ia32 |
||||
|
endif |
||||
|
ifeq ($(uname_m),ia64) |
||||
|
export arch:=ia64 |
||||
|
endif |
||||
|
ifeq ($(uname_m),x86_64) |
||||
|
export arch:=intel64 |
||||
|
endif |
||||
|
ifeq ($(uname_m),sparc64) |
||||
|
export arch:=sparc |
||||
|
endif |
||||
|
ifndef arch |
||||
|
export arch:=$(uname_m) |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
ifndef runtime |
||||
|
gcc_version = $(shell gcc -dumpversion) |
||||
|
os_version:=$(shell uname -r) |
||||
|
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//') |
||||
|
export os_glibc_version_full:=$(shell getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //') |
||||
|
os_glibc_version:=$(shell echo "$(os_glibc_version_full)" | sed -e '2,$$d' -e 's/-.*$$//') |
||||
|
export runtime:=cc$(gcc_version)_libc$(os_glibc_version)_kernel$(os_kernel_version) |
||||
|
endif |
||||
|
|
||||
|
native_compiler := gcc |
||||
|
export compiler ?= gcc |
||||
|
debugger ?= gdb |
||||
|
|
||||
|
CMD=sh -c |
||||
|
CWD=$(shell pwd) |
||||
|
CP=cp |
||||
|
RM?=rm -f |
||||
|
RD?=rmdir |
||||
|
MD?=mkdir -p |
||||
|
NUL= /dev/null |
||||
|
SLASH=/ |
||||
|
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >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 |
||||
|
SONAME_SUFFIX =$(shell grep TBB_COMPATIBLE_INTERFACE_VERSION $(tbb_root)/include/tbb/tbb_stddef.h | egrep -o [0-9.]+) |
||||
|
|
||||
|
ifeq ($(arch),ia64) |
||||
|
def_prefix = lin64ipf |
||||
|
endif |
||||
|
ifeq ($(arch),sparc) |
||||
|
def_prefix = lin64 |
||||
|
endif |
||||
|
ifeq (,$(def_prefix)) |
||||
|
ifeq (64,$(findstring 64,$(arch))) |
||||
|
def_prefix = lin64 |
||||
|
else |
||||
|
def_prefix = lin32 |
||||
|
endif |
||||
|
endif |
||||
|
TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst |
||||
|
TBB.DEF = $(TBB.LST:.lst=.def) |
||||
|
|
||||
|
TBB.DLL = $(TBB_NO_VERSION.DLL).$(SONAME_SUFFIX) |
||||
|
TBB.LIB = $(TBB.DLL) |
||||
|
TBB_NO_VERSION.DLL=libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL) |
||||
|
LINK_TBB.LIB = $(TBB_NO_VERSION.DLL) |
||||
|
|
||||
|
MALLOC_NO_VERSION.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def |
||||
|
MALLOC.DLL = $(MALLOC_NO_VERSION.DLL).$(SONAME_SUFFIX) |
||||
|
MALLOC.LIB = $(MALLOC_NO_VERSION.DLL) |
||||
|
LINK_MALLOC.LIB = $(MALLOC_NO_VERSION.DLL) |
||||
|
|
||||
|
MALLOCPROXY_NO_VERSION.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def |
||||
|
MALLOCPROXY.DLL = $(MALLOCPROXY_NO_VERSION.DLL).$(SONAME_SUFFIX) |
||||
|
MALLOCPROXY.LIB = $(MALLOCPROXY_NO_VERSION.DLL) |
||||
|
LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB) |
||||
|
|
||||
|
RML_NO_VERSION.DLL = libirml$(DEBUG_SUFFIX).$(DLL) |
||||
|
RML.DEF = $(RML_SERVER_ROOT)/lin-rml-export.def |
||||
|
RML.DLL = $(RML_NO_VERSION.DLL).1 |
||||
|
RML.LIB = $(RML_NO_VERSION.DLL) |
||||
|
|
||||
|
TBB_NOSTRICT=1 |
||||
|
|
||||
|
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs) |
@ -0,0 +1,114 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
####### Detections and Commands ############################################### |
||||
|
|
||||
|
COMPILE_ONLY = -c |
||||
|
PREPROC_ONLY = -E -qsourcetype=c |
||||
|
INCLUDE_KEY = -I |
||||
|
DEFINE_KEY = -D |
||||
|
OUTPUT_KEY = -o # |
||||
|
OUTPUTOBJ_KEY = -o # |
||||
|
PIC_KEY = -qpic |
||||
|
WARNING_AS_ERROR_KEY = -qhalt=w |
||||
|
WARNING_KEY = |
||||
|
TEST_WARNING_KEY = |
||||
|
|
||||
|
WARNING_SUPPRESS = |
||||
|
DYLIB_KEY = -qmkshrobj |
||||
|
EXPORT_KEY = -Wl,--version-script, |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = xlc++_r |
||||
|
CONLY = xlc_r |
||||
|
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) |
||||
|
LIBS = -lpthread -lrt |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = $(ITT_NOTIFY) -O2 -DUSE_PTHREAD |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD |
||||
|
endif |
||||
|
|
||||
|
# Adding directly to CPLUS_FLAGS instead of to WARNING_SUPPRESS because otherwise it would not be used in several tests (why not?). |
||||
|
# Suppress warnings like: |
||||
|
# - "1500-029: (W) WARNING: subprogram [...] could not be inlined into [...]." |
||||
|
# - "1501-201: (W) Maximum number of common component diagnostics, 10 has been exceeded." |
||||
|
# see http://www-01.ibm.com/support/docview.wss?uid=swg1LI72843 |
||||
|
# it seems that the internal compiler error that would ensue has now been avoided, making the condition harmless |
||||
|
# - "1540-0198 (W) The omitted keyword "private" is assumed for base class "no_copy"." |
||||
|
# - "1540-0822 (W) The name "__FUNCTION__" must not be defined as a macro." |
||||
|
CPLUS_FLAGS += -qsuppress=1500-029:1501-201:1540-0198:1540-0822 |
||||
|
|
||||
|
ASM= |
||||
|
ASM_FLAGS= |
||||
|
|
||||
|
TBB_ASM.OBJ= |
||||
|
|
||||
|
ifeq (intel64,$(arch)) |
||||
|
ITT_NOTIFY = -DDO_ITT_NOTIFY |
||||
|
CPLUS_FLAGS += -q64 |
||||
|
LIB_LINK_FLAGS += -q64 |
||||
|
endif |
||||
|
|
||||
|
# TODO: equivalent for -march=pentium4 in CPLUS_FLAGS |
||||
|
ifeq (ia32,$(arch)) |
||||
|
ITT_NOTIFY = -DDO_ITT_NOTIFY |
||||
|
CPLUS_FLAGS += -q32 -qarch=pentium4 |
||||
|
LIB_LINK_FLAGS += -q32 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ppc64,$(arch)) |
||||
|
CPLUS_FLAGS += -q64 |
||||
|
LIB_LINK_FLAGS += -q64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ppc32,$(arch)) |
||||
|
CPLUS_FLAGS += -q32 |
||||
|
LIB_LINK_FLAGS += -q32 |
||||
|
endif |
||||
|
|
||||
|
ifeq (bgp,$(arch)) |
||||
|
CPLUS = bgxlC_r |
||||
|
CONLY = bgxlc_r |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
# Suppress innumerable warnings like "1540-1088 (W) The exception specification is being ignored." |
||||
|
# Suppress warnings like "1540-1090 (I) The destructor of "lock" might not be called." |
||||
|
# TODO: aren't these warnings an indication that -qnoeh might not be appropriate? |
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -qnortti -qnoeh -qsuppress=1540-1088:1540-1090 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,120 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
CPLUS = clang++ |
||||
|
CONLY = clang |
||||
|
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-non-virtual-dtor |
||||
|
DYLIB_KEY = -dynamiclib |
||||
|
EXPORT_KEY = -Wl,-exported_symbols_list, |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
LIBS = -lpthread |
||||
|
LINK_FLAGS = |
||||
|
LIB_LINK_FLAGS = -dynamiclib |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -O2 |
||||
|
else |
||||
|
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += -DUSE_PTHREAD |
||||
|
|
||||
|
ifeq (libc++,$(stdlib)) |
||||
|
LIBS += -stdlib=libc++ |
||||
|
CPLUS_FLAGS += -stdlib=libc++ |
||||
|
endif |
||||
|
|
||||
|
CPP11_FLAGS = -std=c++11 -D_TBB_CPP0X |
||||
|
|
||||
|
ifneq (00,$(lambdas)$(cpp0x)) |
||||
|
CXX_ONLY_FLAGS += $(CPP11_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
ifeq (intel64,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
LINK_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 |
||||
|
LINK_FLAGS += -m32 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ppc64,$(arch)) |
||||
|
CPLUS_FLAGS += -arch ppc64 |
||||
|
LINK_FLAGS += -arch ppc64 |
||||
|
LIB_LINK_FLAGS += -arch ppc64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ppc32,$(arch)) |
||||
|
CPLUS_FLAGS += -arch ppc |
||||
|
LINK_FLAGS += -arch ppc |
||||
|
LIB_LINK_FLAGS += -arch ppc |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
ASM = as |
||||
|
ifeq (intel64,$(arch)) |
||||
|
ASM_FLAGS += -arch x86_64 |
||||
|
endif |
||||
|
ifeq (ia32,$(arch)) |
||||
|
ASM_FLAGS += -arch i386 |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
ASM_FLAGS += -g |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
@ -0,0 +1,109 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
CPLUS = g++ |
||||
|
CONLY = gcc |
||||
|
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-non-virtual-dtor |
||||
|
DYLIB_KEY = -dynamiclib |
||||
|
EXPORT_KEY = -Wl,-exported_symbols_list, |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
LIBS = -lpthread |
||||
|
LINK_FLAGS = |
||||
|
LIB_LINK_FLAGS = -dynamiclib |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -O2 |
||||
|
else |
||||
|
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += -DUSE_PTHREAD |
||||
|
|
||||
|
ifeq (intel64,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
LINK_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 |
||||
|
LINK_FLAGS += -m32 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ppc64,$(arch)) |
||||
|
CPLUS_FLAGS += -arch ppc64 |
||||
|
LINK_FLAGS += -arch ppc64 |
||||
|
LIB_LINK_FLAGS += -arch ppc64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ppc32,$(arch)) |
||||
|
CPLUS_FLAGS += -arch ppc |
||||
|
LINK_FLAGS += -arch ppc |
||||
|
LIB_LINK_FLAGS += -arch ppc |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
ASM = as |
||||
|
ifeq (intel64,$(arch)) |
||||
|
ASM_FLAGS += -arch x86_64 |
||||
|
endif |
||||
|
ifeq (ia32,$(arch)) |
||||
|
ASM_FLAGS += -arch i386 |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
ASM_FLAGS += -g |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions -fno-schedule-insns2 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
@ -0,0 +1,103 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
CPLUS = icpc |
||||
|
CONLY = icc |
||||
|
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 = -w1 |
||||
|
DYLIB_KEY = -dynamiclib |
||||
|
EXPORT_KEY = -Wl,-exported_symbols_list, |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
OPENMP_FLAG = -openmp |
||||
|
LIBS = -lpthread |
||||
|
LINK_FLAGS = |
||||
|
LIB_LINK_FLAGS = -dynamiclib -i-static |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
# ICC 11.0 and higher support -std=c++0x |
||||
|
ifneq (,$(shell icc -dumpversion | egrep "^1[1-9]\.")) |
||||
|
CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X |
||||
|
endif |
||||
|
|
||||
|
# ICC 12.0 and higher provide Intel(R) Cilk Plus |
||||
|
ifneq (,$(shell icc -dumpversion | egrep "^1[2-9]\.")) |
||||
|
CILK_AVAILABLE = yes |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -O2 -fno-omit-frame-pointer |
||||
|
else |
||||
|
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += -DUSE_PTHREAD |
||||
|
|
||||
|
ifneq (,$(codecov)) |
||||
|
CPLUS_FLAGS += -prof-genx |
||||
|
endif |
||||
|
|
||||
|
ifneq (00,$(lambdas)$(cpp0x)) |
||||
|
CPLUS_FLAGS += $(CPP11_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
ASM = as |
||||
|
ifeq (intel64,$(arch)) |
||||
|
ASM_FLAGS += -arch x86_64 |
||||
|
endif |
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 |
||||
|
LINK_FLAGS += -m32 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
ASM_FLAGS += -arch i386 |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
ASM_FLAGS += -g |
||||
|
endif |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,105 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
####### Detections and Commands ############################################### |
||||
|
|
||||
|
ifeq (icc,$(compiler)) |
||||
|
export COMPILER_VERSION := ICC: $(shell icc -V </dev/null 2>&1 | grep 'Version') |
||||
|
ifneq (,$(findstring IA-32, $(COMPILER_VERSION))) |
||||
|
export arch:=ia32 |
||||
|
endif |
||||
|
ifneq (,$(findstring Intel(R) 64, $(COMPILER_VERSION))) |
||||
|
export arch:=intel64 |
||||
|
endif |
||||
|
ifeq (,$(arch)) |
||||
|
$(warning "Unknown Intel compiler") |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
ifndef arch |
||||
|
ifeq ($(shell /usr/sbin/sysctl -n hw.machine),Power Macintosh) |
||||
|
ifeq ($(shell /usr/sbin/sysctl -n hw.optional.64bitops),1) |
||||
|
export arch:=ppc64 |
||||
|
else |
||||
|
export arch:=ppc32 |
||||
|
endif |
||||
|
else |
||||
|
ifeq ($(shell /usr/sbin/sysctl -n hw.optional.x86_64 2>/dev/null),1) |
||||
|
export arch:=intel64 |
||||
|
else |
||||
|
export arch:=ia32 |
||||
|
endif |
||||
|
endif |
||||
|
endif |
||||
|
|
||||
|
ifndef runtime |
||||
|
gcc_version = $(shell gcc -dumpversion) |
||||
|
os_version:=$(shell /usr/bin/sw_vers -productVersion) |
||||
|
export runtime:=cc$(gcc_version)_os$(os_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_macos.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver |
||||
|
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh |
||||
|
|
||||
|
ifdef DYLD_LIBRARY_PATH |
||||
|
export DYLD_LIBRARY_PATH := .:$(DYLD_LIBRARY_PATH) |
||||
|
else |
||||
|
export DYLD_LIBRARY_PATH := . |
||||
|
endif |
||||
|
|
||||
|
####### Build settings ######################################################## |
||||
|
|
||||
|
OBJ=o |
||||
|
DLL=dylib |
||||
|
LIBEXT=dylib |
||||
|
|
||||
|
def_prefix = $(if $(findstring 64,$(arch)),mac64,mac32) |
||||
|
|
||||
|
TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst |
||||
|
TBB.DEF = $(TBB.LST:.lst=.def) |
||||
|
TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL) |
||||
|
TBB.LIB = $(TBB.DLL) |
||||
|
LINK_TBB.LIB = $(TBB.LIB) |
||||
|
|
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def |
||||
|
MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOC.LIB = $(MALLOC.DLL) |
||||
|
LINK_MALLOC.LIB = $(MALLOC.LIB) |
||||
|
|
||||
|
TBB_NOSTRICT=1 |
||||
|
|
||||
|
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs) |
@ -0,0 +1,90 @@ |
|||||
|
# Copyright 2005-2013 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 = -w1 |
||||
|
DYLIB_KEY = -shared |
||||
|
EXPORT_KEY = -Wl,--version-script, |
||||
|
NOINTRINSIC_KEY = -fno-builtin |
||||
|
LIBDL = -ldl |
||||
|
|
||||
|
TBB_NOSTRICT = 1 |
||||
|
|
||||
|
CPLUS = icpc |
||||
|
CONLY = icc |
||||
|
|
||||
|
ifeq (release,$(cfg)) |
||||
|
CPLUS_FLAGS = -O2 -g -DUSE_PTHREAD |
||||
|
else |
||||
|
CPLUS_FLAGS = -O0 -g -DUSE_PTHREAD -DTBB_USE_DEBUG |
||||
|
endif |
||||
|
|
||||
|
ifneq (,$(codecov)) |
||||
|
CPLUS_FLAGS += -prof-genx |
||||
|
endif |
||||
|
|
||||
|
OPENMP_FLAG = -openmp |
||||
|
LIB_LINK_FLAGS = -shared -i-static -Wl,-soname=$(BUILDING_LIBRARY) |
||||
|
LIBS += -lpthread -lrt |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X |
||||
|
CILK_AVAILABLE = yes |
||||
|
|
||||
|
TBB_ASM.OBJ= |
||||
|
MALLOC_ASM.OBJ= |
||||
|
|
||||
|
ifneq (00,$(lambdas)$(cpp0x)) |
||||
|
CPLUS_FLAGS += $(CPP11_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += -DHARNESS_INCOMPLETE_SOURCES=1 -D__TBB_MIC_NATIVE -DTBB_USE_EXCEPTIONS=0 -opt-streaming-stores never |
||||
|
CPLUS += -mmic |
||||
|
CONLY += -mmic |
||||
|
LINK_FLAGS = -Wl,-rpath-link=. |
||||
|
# Tell the icc to not link against libcilk*. Otherwise icc tries to link and emits a warning message. |
||||
|
LIB_LINK_LIBS += -no-intel-extensions |
||||
|
# Do not depend on libirc etc dynamic libs. It makes 'native' execution easier for the users. |
||||
|
LIB_LINK_LIBS += -static-intel |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,47 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
ifeq ($(tbb_os),mic) |
||||
|
$(error MIC supports only cross-compilation. Specify "target=mic" instead.) |
||||
|
endif |
||||
|
|
||||
|
ifneq ($(BUILDING_PHASE),1) |
||||
|
# The same build prefix should be used in offload.inc |
||||
|
tbb_build_prefix?=mic_icc$(CPF_SUFFIX) |
||||
|
endif |
||||
|
|
||||
|
MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver |
||||
|
MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh |
||||
|
def_prefix=lin64 |
||||
|
|
||||
|
TEST_LAUNCHER= |
||||
|
run_cmd ?= bash $(tbb_root)/build/mic.linux.launcher.sh $(largs) |
||||
|
|
||||
|
# detects whether examples are being built. |
||||
|
ifeq ($(BUILDING_PHASE),0) |
||||
|
export UI = con |
||||
|
export x64 = 64 |
||||
|
endif # examples |
@ -0,0 +1,111 @@ |
|||||
|
#!/bin/bash |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Usage: |
||||
|
# mic.linux.launcher.sh [-v] [-s] [-r <repeats>] [-u] [-l <library>] <executable> <arg1> <arg2> <argN> |
||||
|
# where: -v enables verbose output |
||||
|
# where: -s enables stress testing unless ctrl-c is pressed |
||||
|
# where: -r <repeats> specifies number of times to repeat execution |
||||
|
# where: -u is ignored |
||||
|
# where: -l <library> specifies the library name to be assigned to LD_PRELOAD |
||||
|
# |
||||
|
# Libs and executable necessary for testing should be present in the current directory before running. |
||||
|
# Note: Do not remove the redirections to '/dev/null' in the script, otherwise the nightly test system will fail. |
||||
|
# |
||||
|
trap 'echo Error at line $LINENO while executing "$BASH_COMMAND"' ERR # |
||||
|
trap 'echo -e "\n*** Interrupted ***" && exit 1' SIGINT SIGQUIT # |
||||
|
# Process the optional arguments if present |
||||
|
if [ "x$1" = "x-v" ]; then shift 1; else SUPPRESS='>/dev/null'; fi # |
||||
|
if [ "x$1" = "x-s" ]; then shift 1; echo Doing stress testing. Press Ctrl-C to terminate |
||||
|
run_prefix+='rep() { while :; do $*; done; }; rep '; fi # |
||||
|
if [ "x$1" = "x-r" ]; then # |
||||
|
run_prefix+="rep() { for i in \$(seq 1 $2); do echo \$i of $2:; \$*; done; }; rep " # |
||||
|
shift 2; fi # |
||||
|
[ "x$1" = "x-u" ] && shift 1 # |
||||
|
if [ "x$1" = "x-l" ]; then { # |
||||
|
ldd_list+="$2 "# |
||||
|
run_prefix+=" LD_PRELOAD=$2" # |
||||
|
shift 2 # |
||||
|
}; fi # |
||||
|
# Collect the executable name |
||||
|
fexename="$1" # |
||||
|
exename=`basename $1` # |
||||
|
shift # |
||||
|
# |
||||
|
RSH="sudo ssh mic0" # |
||||
|
RCP="sudo scp" # |
||||
|
# |
||||
|
# Prepare the target directory on the device |
||||
|
currentdir=`basename $PWD` # |
||||
|
targetdir=${TEST_DIRECTORY:-/mic0fs/$USER/$currentdir} # |
||||
|
# |
||||
|
# Remove leftover target directory on the device |
||||
|
eval "$RSH \"rm -r $targetdir; mkdir -p $targetdir\" $SUPPRESS 2>&1 || exit \$?" # |
||||
|
eval "$RCP $fexename mic0:$targetdir/ $SUPPRESS || exit \$?" # |
||||
|
# |
||||
|
# Collect the list of files to transfer to the target device, starting with executable itself. |
||||
|
ldd_list+="libtbbmalloc*.so* `$RSH ldd $targetdir/$exename | grep = | cut -d= -f1 2>/dev/null`" # |
||||
|
fnamelist="" # |
||||
|
# |
||||
|
# Find the libraries and add them to the list. |
||||
|
# For example, go through MIC_LD_LIBRARY_PATH and add TBB libraries from the first |
||||
|
# directory that contains tbb files |
||||
|
mic_dir_list=`echo .:$MIC_LD_LIBRARY_PATH | tr : " "` # |
||||
|
for name in $ldd_list; do # adds the first matched name in specified dirs |
||||
|
fnamelist+="`find $mic_dir_list -name $name -a -readable -print -quit 2>/dev/null` " # |
||||
|
done # |
||||
|
# |
||||
|
# Add any libraries built for specific tests. |
||||
|
exeroot=${exename%\.*} # |
||||
|
fnamelist+=`ls ${exeroot}*.so ${exeroot}*.so.* 2>/dev/null`||: # |
||||
|
# |
||||
|
# Transfer collected executable and library files to the target device. |
||||
|
eval "$RCP $fnamelist mic0:$targetdir/ $SUPPRESS || exit \$?" # |
||||
|
# |
||||
|
# Transfer input files used by example codes by scanning the executable argument list. |
||||
|
for fullname in "$@"; do if [ -r $fullname ]; then { # |
||||
|
directory=$(dirname $fullname) # |
||||
|
filename=$(basename $fullname) # |
||||
|
# strip leading "." from fullname if present |
||||
|
[ "$directory" = "." ] && directory="" && fullname="$filename" # |
||||
|
# Create the target directory to hold input file if necessary |
||||
|
[ ! -z "$directory" ] && $RSH "mkdir -p $targetdir/$directory" $SUPPRESS 2>&1 # |
||||
|
# Transfer the input file to corresponding directory on target device |
||||
|
eval "$RCP $fullname mic0:$targetdir/$fullname $SUPPRESS 2>&1 || exit \$?" # |
||||
|
}; fi; done # |
||||
|
# |
||||
|
args=$* # |
||||
|
# Run the test on the target device |
||||
|
kill_interrupt() { # |
||||
|
echo -e "\n*** Killing remote $exename ***" && $RSH "killall $exename" # |
||||
|
} # kill target process |
||||
|
trap 'kill_interrupt' SIGINT SIGQUIT # trap keyboard interrupt (control-c) |
||||
|
trap - ERR # |
||||
|
$RSH "cd $targetdir; export LD_LIBRARY_PATH=.:\$LD_LIBRARY_PATH; $run_prefix ./$exename $args" # |
||||
|
# Return the exit code of the test. |
||||
|
exit $? # |
@ -0,0 +1,170 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
ifneq (mic,$(offload)) |
||||
|
$(error File mic.offload.inc should not be included directly. Use offload=mic instead.) |
||||
|
endif |
||||
|
ifneq (icc,$(compiler)) |
||||
|
$(error Only Intel(R) Compiler is supported for MIC offload compilation) |
||||
|
endif |
||||
|
|
||||
|
tbb_offload_build_prefix?=mic_offload_icc$(CPF_SUFFIX) |
||||
|
# The same build prefix should be used in mic.linux.inc |
||||
|
export tbb_mic_build_prefix?=mic_icc$(CPF_SUFFIX) |
||||
|
initial_tbb_root:=$(tbb_root) |
||||
|
|
||||
|
ifndef BUILDING_PHASE |
||||
|
tbb_native_debug: |
||||
|
$(MAKE) tbb_debug target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbb_native_release: |
||||
|
$(MAKE) tbb_release target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbbmalloc_native_debug: |
||||
|
$(MAKE) tbbmalloc_debug target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbbmalloc_native_release: |
||||
|
$(MAKE) tbbmalloc_release target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
rml_native_debug: |
||||
|
$(MAKE) rml_debug target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
rml_native_release: |
||||
|
$(MAKE) rml_release target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbb_native: |
||||
|
$(MAKE) tbb target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbbmalloc_native: |
||||
|
$(MAKE) tbbmalloc target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
rml_native: |
||||
|
$(MAKE) rml target=mic compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbb_host_debug: |
||||
|
$(MAKE) tbb_debug compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbb_host_release: |
||||
|
$(MAKE) tbb_release compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbbmalloc_host_debug: |
||||
|
$(MAKE) tbbmalloc_debug compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
tbbmalloc_host_release: |
||||
|
$(MAKE) tbbmalloc_release compiler=icc offload= tbb_root=$(initial_tbb_root) |
||||
|
|
||||
|
# The work_dir variable can not be set via target-specific variable mechanism |
||||
|
# since it will affect other targets on which the target depends. |
||||
|
# So work_dir is set via eval function inside the recipe. |
||||
|
prepare_test_offload_dir_debug: initial_tbb_build_dir:=$(tbb_build_dir) |
||||
|
prepare_test_offload_dir_debug: tbb_host_debug tbbmalloc_host_debug tbb_native_debug tbbmalloc_native_debug |
||||
|
$(eval work_dir=$(initial_tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)) |
||||
|
$(shell $(MD) "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(eval export TEST_COMPILATION=1) |
||||
|
|
||||
|
prepare_test_offload_dir_release: initial_tbb_build_dir:=$(tbb_build_dir) |
||||
|
prepare_test_offload_dir_release: tbb_host_release tbbmalloc_host_release tbb_native_release tbbmalloc_native_release |
||||
|
$(eval work_dir=$(initial_tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)) |
||||
|
$(shell $(MD) "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(eval export TEST_COMPILATION=1) |
||||
|
|
||||
|
prepare_test_offload_dir: initial_tbb_build_dir:=$(tbb_build_dir) |
||||
|
prepare_test_offload_dir: tbb tbbmalloc tbb_native tbbmalloc_native |
||||
|
$(eval work_dir=$(initial_tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)) |
||||
|
$(shell $(MD) "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(MD) "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL)) |
||||
|
$(eval export TEST_COMPILATION=1) |
||||
|
|
||||
|
test: prepare_test_offload_dir |
||||
|
tbb_test_debug: prepare_test_offload_dir_debug |
||||
|
tbb_test_release: prepare_test_offload_dir_release |
||||
|
tbbmalloc_test_debug: prepare_test_offload_dir_debug |
||||
|
tbbmalloc_test_release: prepare_test_offload_dir_release |
||||
|
rml_test_debug: rml_native_debug prepare_test_offload_dir_debug |
||||
|
rml_test_release: rml_native_release prepare_test_offload_dir_release |
||||
|
|
||||
|
debug_% test_% stress_% time_% perf_%:: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix) |
||||
|
debug_% test_% stress_% time_% perf_%:: export TEST_COMPILATION=1 |
||||
|
|
||||
|
clean: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix) |
||||
|
# The _clean* targets begin with an underscore symbol to prevent a collision with the clean_% template |
||||
|
clean: _clean_mic_subdir_debug _clean_mic_subdir_release _clean_host _clean_mic |
||||
|
clean_release: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix) |
||||
|
clean_release: _clean_mic_subdir_release _clean_host_release _clean_mic_release |
||||
|
clean_debug: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix) |
||||
|
clean_debug: _clean_mic_subdir_debug _clean_host_debug _clean_mic_debug |
||||
|
clean_%:: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix) |
||||
|
|
||||
|
_clean_mic_subdir_debug: |
||||
|
$(shell $(RM) $(work_dir)_debug$(SLASH)mic/$(SLASH)*.* >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(RD) $(work_dir)_debug$(SLASH)mic >$(NUL) 2>$(NUL)) |
||||
|
_clean_mic_subdir_release: |
||||
|
$(shell $(RM) $(work_dir)_release$(SLASH)mic/$(SLASH)*.* >$(NUL) 2>$(NUL)) |
||||
|
$(shell $(RD) $(work_dir)_release$(SLASH)mic >$(NUL) 2>$(NUL)) |
||||
|
_clean_host: |
||||
|
$(MAKE) clean tbb_root=$(initial_tbb_root) offload= |
||||
|
_clean_mic: |
||||
|
$(MAKE) clean target=mic tbb_root=$(initial_tbb_root) offload= |
||||
|
_clean_host_release: |
||||
|
$(MAKE) clean_release tbb_root=$(initial_tbb_root) offload= |
||||
|
_clean_host_debug: |
||||
|
$(MAKE) clean_debug tbb_root=$(initial_tbb_root) offload= |
||||
|
_clean_mic_release: |
||||
|
$(MAKE) clean_release target=mic tbb_root=$(initial_tbb_root) offload= |
||||
|
_clean_mic_debug: |
||||
|
$(MAKE) clean_debug target=mic tbb_root=$(initial_tbb_root) offload= |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(TEST_COMPILATION),1) |
||||
|
ifdef MIC_LD_LIBRARY_PATH |
||||
|
export MIC_LD_LIBRARY_PATH := ./mic:$(MIC_LD_LIBRARY_PATH) |
||||
|
else |
||||
|
export MIC_LD_LIBRARY_PATH := ./mic |
||||
|
endif |
||||
|
LINK_TBB.LIB=-offload-option,mic,ld,"./mic/$(TBB.LIB)" $(TBB.LIB) |
||||
|
LINK_MALLOC_LIB=-offload-option,mic,ld,"./mic/$(MALLOC.DLL)" $(MALLOC.DLL) |
||||
|
LINK_MALLOC_PROXY_LIB=-offload-option,mic,ld,"./mic/$(MALLOCPROXY.DLL)" $(MALLOCPROXY.DLL) |
||||
|
LINK_FLAGS = |
||||
|
LIB_LINK_FLAGS += $(DYLIB_KEY) |
||||
|
# Do not use -Werror because it is too strict for the early offload compiler. |
||||
|
# Need to set anything because WARNING_AS_ERROR_KEY should not be empty. |
||||
|
# Treat #2426 as a warning. Print errors only. |
||||
|
tbb_strict=0 |
||||
|
override WARNING_AS_ERROR_KEY = Warning as error |
||||
|
override WARNING_KEY = -diag-warning 2426 -w0 |
||||
|
# Enable mic-specific stuff. |
||||
|
CXX_MIC_STUFF = -offload-attribute-target=mic -D__TBB_MIC_OFFLOAD=1 \ |
||||
|
-offload-option,mic,compiler,"-D__TBB_MIC_OFFLOAD=1 -DHARNESS_INCOMPLETE_SOURCES=1 -D__TBB_MIC_NATIVE -DTBB_USE_EXCEPTIONS=0" |
||||
|
CPLUS_FLAGS += $(CXX_MIC_STUFF) |
||||
|
export OFFLOAD_EXECUTION = 1 |
||||
|
# Workaround to skip the RML tests in the offload mode |
||||
|
TBB_DEP_NON_RML_TEST = |
||||
|
TBB_DEP_RML_TEST = |
||||
|
RML_TBB_CLIENT.OBJ = |
||||
|
RML_OMP_CLIENT.OBJ = |
||||
|
endif |
||||
|
|
||||
|
# detects whether examples are being built. |
||||
|
ifeq ($(BUILDING_PHASE),0) |
||||
|
export UI = con |
||||
|
export x64 = 64 |
||||
|
endif # examples |
@ -0,0 +1 @@ |
|||||
|
hwcap_1 = OVERRIDE; |
@ -0,0 +1,51 @@ |
|||||
|
@echo off |
||||
|
REM |
||||
|
REM Copyright 2005-2013 Intel Corporation. All Rights Reserved. |
||||
|
REM |
||||
|
REM This file is part of Threading Building Blocks. |
||||
|
REM |
||||
|
REM Threading Building Blocks is free software; you can redistribute it |
||||
|
REM and/or modify it under the terms of the GNU General Public License |
||||
|
REM version 2 as published by the Free Software Foundation. |
||||
|
REM |
||||
|
REM Threading Building Blocks is distributed in the hope that it will be |
||||
|
REM useful, but WITHOUT ANY WARRANTY; without even the implied warranty |
||||
|
REM of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
REM GNU General Public License for more details. |
||||
|
REM |
||||
|
REM You should have received a copy of the GNU General Public License |
||||
|
REM along with Threading Building Blocks; if not, write to the Free Software |
||||
|
REM Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
||||
|
REM |
||||
|
REM As a special exception, you may use this file as part of a free software |
||||
|
REM library without restriction. Specifically, if other files instantiate |
||||
|
REM templates or use macros or inline functions from this file, or you compile |
||||
|
REM this file and link it with other files to produce an executable, this |
||||
|
REM file does not by itself cause the resulting executable to be covered by |
||||
|
REM the GNU General Public License. This exception does not however |
||||
|
REM invalidate any other reasons why the executable file might be covered by |
||||
|
REM the GNU General Public License. |
||||
|
REM |
||||
|
|
||||
|
set cmd_line= |
||||
|
:while |
||||
|
if NOT "%1"=="" ( |
||||
|
REM no LD_PRELOAD under Windows |
||||
|
REM but run the test to check "#pragma comment" construction |
||||
|
if "%1"=="-l" ( |
||||
|
REM The command line may specify -l with empty dll name, |
||||
|
REM e.g. "test_launcher.bat -l app.exe". If the dll name is |
||||
|
REM empty then %2 contains the application name and the SHIFT |
||||
|
REM operation is not necessary. |
||||
|
if exist "%3" SHIFT |
||||
|
GOTO continue |
||||
|
) |
||||
|
REM no need to setup up stack size under Windows |
||||
|
if "%1"=="-u" GOTO continue |
||||
|
set cmd_line=%cmd_line% %1 |
||||
|
:continue |
||||
|
SHIFT |
||||
|
GOTO while |
||||
|
) |
||||
|
|
||||
|
%cmd_line% |
@ -0,0 +1,60 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
while getopts "ul:" flag # |
||||
|
do case $flag in # |
||||
|
l ) if [ `uname` != 'Linux' ] ; then # |
||||
|
echo 'skip' # |
||||
|
exit # |
||||
|
fi # |
||||
|
LD_PRELOAD=$OPTARG ;; # |
||||
|
u ) # Set stack limit |
||||
|
ulimit -s 10240 ;; # |
||||
|
esac done # |
||||
|
shift `expr $OPTIND - 1` # |
||||
|
if [ $OFFLOAD_EXECUTION ] ; then # |
||||
|
if [ -z $MIC_CARD ] ; then # |
||||
|
MIC_CARD=mic0 # |
||||
|
fi # |
||||
|
TMPDIR_HOST=$(mktemp -d /tmp/libtbbmallocXXXXXX) # |
||||
|
TMPDIR_MIC=$(sudo ssh $MIC_CARD mktemp -d /tmp/libtbbmallocXXXXXX) # |
||||
|
sudo ssh $MIC_CARD "chmod +x $TMPDIR_MIC" # |
||||
|
cp "./mic/libtbbmalloc"* "$TMPDIR_HOST" >/dev/null 2>/dev/null # |
||||
|
sudo scp "$TMPDIR_HOST"/* $MIC_CARD:"$TMPDIR_MIC" >/dev/null 2>/dev/null # |
||||
|
LD_LIBRARY_PATH=$TMPDIR_MIC:$LD_LIBRARY_PATH # |
||||
|
export LD_LIBRARY_PATH # |
||||
|
fi # |
||||
|
# Run the command line passed via parameters |
||||
|
export LD_PRELOAD # |
||||
|
./$* # |
||||
|
exitcode=$? # |
||||
|
if [ $OFFLOAD_EXECUTION ] ; then # |
||||
|
sudo ssh $MIC_CARD rm -fr "$TMPDIR_MIC" >/dev/null 2>/dev/null # |
||||
|
rm -fr "$TMPDIR_HOST" >/dev/null 2>/dev/null # |
||||
|
fi # |
||||
|
exit ${exitcode} # |
@ -0,0 +1,42 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Script used to generate version info string |
||||
|
echo "#define __TBB_VERSION_STRINGS(N) \\" |
||||
|
echo '#N": BUILD_HOST'"\t\t"`hostname -s`" ("`uname -m`")"'" ENDL \' |
||||
|
# find OS name in *-release and issue* files by filtering blank lines and lsb-release content out |
||||
|
echo '#N": BUILD_OS'"\t\t"`lsb_release -sd 2>/dev/null | grep -ih '[a-z] ' - /etc/*release /etc/issue 2>/dev/null | head -1 | sed -e 's/["\\\\]//g'`'" ENDL \' |
||||
|
echo '#N": BUILD_KERNEL'"\t"`uname -srv`'" ENDL \' |
||||
|
echo '#N": BUILD_GCC'"\t\t"`g++ -v </dev/null 2>&1 | grep 'gcc.*version'`'" ENDL \' |
||||
|
[ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \' |
||||
|
echo '#N": BUILD_LIBC'"\t"`getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //'`'" ENDL \' |
||||
|
echo '#N": BUILD_LD'"\t\t"`ld -v 2>&1 | grep 'version'`'" ENDL \' |
||||
|
echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \' |
||||
|
echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \' |
||||
|
echo "" |
||||
|
echo "#define __TBB_DATETIME \""`date -u`"\"" |
@ -0,0 +1,46 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Script used to generate version info string |
||||
|
# remove extraneous cntrl-M characters from ends of lines generated by adb shell command |
||||
|
android_os=`(adb shell getprop ro.build.version.release) | sed -e 's/\\r$//g'` |
||||
|
android_kernel=`(adb shell uname -srv) | sed -e 's/\\r$//g'` |
||||
|
echo "#define __TBB_VERSION_STRINGS(N) \\" |
||||
|
echo '#N": BUILD_HOST'"\t\t"`hostname -s`" ("`uname -m`")"'" ENDL \' |
||||
|
# find OS name in *-release and issue* files by filtering blank lines and lsb-release content out |
||||
|
echo '#N": BUILD_OS'"\t\t"`lsb_release -sd 2>/dev/null | grep -ih '[a-z] ' - /etc/*release /etc/issue 2>/dev/null | head -1 | sed -e 's/["\\\\]//g'`'" ENDL \' |
||||
|
echo '#N": BUILD_TARGET_OS'"\t\tAndroid ${android_os}"'" ENDL \' |
||||
|
echo '#N": BUILD_TARGET_KERNEL'"\t${android_kernel}"'" ENDL \' |
||||
|
echo '#N": BUILD_GCC'"\t\t"`${tbb_tool_prefix}g++ -dumpversion`'" ENDL \' |
||||
|
[ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \' |
||||
|
[ -z "$ndk_version" ] || echo '#N": BUILD_NDK'"\t\t$ndk_version"'" ENDL \' |
||||
|
echo '#N": BUILD_LD'"\t\t"`${tbb_tool_prefix}ld -v 2>&1 | grep 'ld'`'" ENDL \' |
||||
|
echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \' |
||||
|
echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \' |
||||
|
echo "" |
||||
|
echo "#define __TBB_DATETIME \""`date -u`"\"" |
@ -0,0 +1,42 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Script used to generate version info string |
||||
|
echo "#define __TBB_VERSION_STRINGS(N) \\" |
||||
|
echo '#N": BUILD_HOST'"\t\t"`hostname -s`" ("`uname -m`")"'" ENDL \' |
||||
|
# find OS name in *-release and issue* files by filtering blank lines and lsb-release content out |
||||
|
echo '#N": BUILD_OS'"\t\t"`lsb_release -sd 2>/dev/null | grep -ih '[a-z] ' - /etc/*release /etc/issue 2>/dev/null | head -1 | sed -e 's/["\\\\]//g'`'" ENDL \' |
||||
|
echo '#N": BUILD_KERNEL'"\t"`uname -srv`'" ENDL \' |
||||
|
echo '#N": BUILD_GCC'"\t\t"`g++ -v </dev/null 2>&1 | grep 'gcc.*version '`'" ENDL \' |
||||
|
[ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \' |
||||
|
echo '#N": BUILD_LIBC'"\t"`getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //'`'" ENDL \' |
||||
|
echo '#N": BUILD_LD'"\t\t"`ld -v 2>&1 | grep 'version'`'" ENDL \' |
||||
|
echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \' |
||||
|
echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \' |
||||
|
echo "" |
||||
|
echo "#define __TBB_DATETIME \""`date -u`"\"" |
@ -0,0 +1,39 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Script used to generate version info string |
||||
|
echo "#define __TBB_VERSION_STRINGS(N) \\" |
||||
|
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_KERNEL'"\t"`uname -v`'" ENDL \' |
||||
|
echo '#N": BUILD_GCC'"\t\t"`gcc -v </dev/null 2>&1 | grep '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_COMMAND'"\t"$*'" ENDL \' |
||||
|
echo "" |
||||
|
echo "#define __TBB_DATETIME \""`date -u`"\"" |
@ -0,0 +1,39 @@ |
|||||
|
#!/bin/sh |
||||
|
# |
||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
# Script used to generate version info string |
||||
|
echo "#define __TBB_VERSION_STRINGS(N) \\" |
||||
|
echo '#N": BUILD_HOST'"\t"`hostname`" ("`arch`")"'" ENDL \' |
||||
|
echo '#N": BUILD_OS'"\t\t"`uname`'" ENDL \' |
||||
|
echo '#N": BUILD_KERNEL'"\t"`uname -srv`'" ENDL \' |
||||
|
echo '#N": BUILD_SUNCC'"\t"`CC -V </dev/null 2>&1 | grep 'C++'`'" ENDL \' |
||||
|
[ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \' |
||||
|
echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \' |
||||
|
echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \' |
||||
|
echo "" |
||||
|
echo "#define __TBB_DATETIME \""`date -u`"\"" |
@ -0,0 +1,136 @@ |
|||||
|
// Copyright 2005-2013 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.
|
||||
|
|
||||
|
var WshShell = WScript.CreateObject("WScript.Shell"); |
||||
|
|
||||
|
var tmpExec; |
||||
|
|
||||
|
WScript.Echo("#define __TBB_VERSION_STRINGS(N) \\"); |
||||
|
|
||||
|
//Getting BUILD_HOST
|
||||
|
WScript.echo( "#N \": BUILD_HOST\\t\\t" + |
||||
|
WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") + |
||||
|
"\" ENDL \\" ); |
||||
|
|
||||
|
//Getting BUILD_OS
|
||||
|
tmpExec = WshShell.Exec("cmd /c ver"); |
||||
|
while ( tmpExec.Status == 0 ) { |
||||
|
WScript.Sleep(100); |
||||
|
} |
||||
|
tmpExec.StdOut.ReadLine(); |
||||
|
|
||||
|
WScript.echo( "#N \": BUILD_OS\\t\\t" + |
||||
|
tmpExec.StdOut.ReadLine() + |
||||
|
"\" ENDL \\" ); |
||||
|
|
||||
|
if ( WScript.Arguments(0).toLowerCase().match("gcc") ) { |
||||
|
tmpExec = WshShell.Exec(WScript.Arguments(0) + " --version"); |
||||
|
WScript.echo( "#N \": BUILD_COMPILER\\t" + |
||||
|
tmpExec.StdOut.ReadLine() + |
||||
|
"\" ENDL \\" ); |
||||
|
|
||||
|
} else { // MS / Intel compilers
|
||||
|
//Getting BUILD_CL
|
||||
|
tmpExec = WshShell.Exec("cmd /c echo #define 0 0>empty.cpp"); |
||||
|
tmpExec = WshShell.Exec("cl -c empty.cpp "); |
||||
|
while ( tmpExec.Status == 0 ) { |
||||
|
WScript.Sleep(100); |
||||
|
} |
||||
|
var clVersion = tmpExec.StdErr.ReadLine(); |
||||
|
WScript.echo( "#N \": BUILD_CL\\t\\t" + |
||||
|
clVersion + |
||||
|
"\" ENDL \\" ); |
||||
|
|
||||
|
//Getting BUILD_COMPILER
|
||||
|
if ( WScript.Arguments(0).toLowerCase().match("icl") ) { |
||||
|
tmpExec = WshShell.Exec("icl -c empty.cpp "); |
||||
|
while ( tmpExec.Status == 0 ) { |
||||
|
WScript.Sleep(100); |
||||
|
} |
||||
|
WScript.echo( "#N \": BUILD_COMPILER\\t" + |
||||
|
tmpExec.StdErr.ReadLine() + |
||||
|
"\" ENDL \\" ); |
||||
|
} else { |
||||
|
WScript.echo( "#N \": BUILD_COMPILER\\t\\t" + |
||||
|
clVersion + |
||||
|
"\" ENDL \\" ); |
||||
|
} |
||||
|
tmpExec = WshShell.Exec("cmd /c del /F /Q empty.obj empty.cpp"); |
||||
|
} |
||||
|
|
||||
|
//Getting BUILD_TARGET
|
||||
|
WScript.echo( "#N \": BUILD_TARGET\\t" + |
||||
|
WScript.Arguments(1) + |
||||
|
"\" ENDL \\" ); |
||||
|
|
||||
|
//Getting BUILD_COMMAND
|
||||
|
WScript.echo( "#N \": BUILD_COMMAND\\t" + WScript.Arguments(2) + "\" ENDL" ); |
||||
|
|
||||
|
//Getting __TBB_DATETIME and __TBB_VERSION_YMD
|
||||
|
var date = new Date(); |
||||
|
WScript.echo( "#define __TBB_DATETIME \"" + date.toUTCString() + "\"" ); |
||||
|
WScript.echo( "#define __TBB_VERSION_YMD " + date.getUTCFullYear() + ", " + |
||||
|
(date.getUTCMonth() > 8 ? (date.getUTCMonth()+1):("0"+(date.getUTCMonth()+1))) + |
||||
|
(date.getUTCDate() > 9 ? date.getUTCDate():("0"+date.getUTCDate())) ); |
||||
|
|
||||
|
|
||||
|
/* |
||||
|
|
||||
|
Original strings |
||||
|
|
||||
|
#define __TBB_VERSION_STRINGS \ |
||||
|
"TBB: BUILD_HOST\t\tvpolin-mobl1 (ia32)" ENDL \ |
||||
|
"TBB: BUILD_OS\t\tMicrosoft Windows XP [Version 5.1.2600]" ENDL \ |
||||
|
"TBB: BUILD_CL\t\tMicrosoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86" ENDL \ |
||||
|
"TBB: BUILD_COMPILER\tIntel(R) C++ Compiler for 32-bit applications, Version 9.1 Build 20070109Z Package ID: W_CC_C_9.1.034 " ENDL \ |
||||
|
"TBB: BUILD_TARGET\t" ENDL \ |
||||
|
"TBB: BUILD_COMMAND\t" ENDL \ |
||||
|
|
||||
|
#define __TBB_DATETIME "Mon Jun 4 10:16:07 UTC 2007" |
||||
|
#define __TBB_VERSION_YMD 2007, 0604 |
||||
|
|
||||
|
|
||||
|
|
||||
|
# The script must be run from two directory levels below this level. |
||||
|
x='"TBB: ' |
||||
|
y='" ENDL \' |
||||
|
echo "#define __TBB_VERSION_STRINGS \\" |
||||
|
echo $x "BUILD_HOST\t\t"`hostname`" ("`../../arch.exe`")"$y |
||||
|
echo $x "BUILD_OS\t\t"`../../win_version.bat|grep -i 'Version'`$y |
||||
|
echo >empty.cpp |
||||
|
echo $x "BUILD_CL\t\t"`cl -c empty.cpp 2>&1 | grep -i Version`$y |
||||
|
echo $x "BUILD_COMPILER\t"`icl -c empty.cpp 2>&1 | grep -i Version`$y |
||||
|
echo $x "BUILD_TARGET\t"$TBB_ARCH$y |
||||
|
echo $x "BUILD_COMMAND\t"$*$y |
||||
|
echo "" |
||||
|
# A workaround for MKS 8.6 where `date -u` crashes. |
||||
|
date -u > date.tmp |
||||
|
echo "#define __TBB_DATETIME \""`cat date.tmp`"\"" |
||||
|
echo "#define __TBB_VERSION_YMD "`date '+%Y, %m%d'` |
||||
|
rm empty.cpp |
||||
|
rm empty.obj |
||||
|
rm date.tmp |
||||
|
*/ |
@ -0,0 +1,30 @@ |
|||||
|
<HTML> |
||||
|
<BODY> |
||||
|
|
||||
|
<H2>Overview</H2> |
||||
|
This directory contains the visual studio* 2008 solution to build Intel® Threading Building Blocks. |
||||
|
|
||||
|
|
||||
|
<H2>Files</H2> |
||||
|
<DL> |
||||
|
<DT><A HREF="makefile.sln">makefile.sln</A> |
||||
|
<DD>Solution file. |
||||
|
<DT><A HREF="tbb.vcproj">tbb.vcproj</A> |
||||
|
<DD>Library project file. |
||||
|
<DT><A HREF="tbbmalloc.vcproj">tbbmalloc.vcproj</A> |
||||
|
<DD>Scalable allocator library project file. Allocator sources are expected to be located in <A HREF="../../src/tbbmalloc">../../src/tbbmalloc</A> folder. |
||||
|
<DT><A HREF="tbbmalloc_proxy.vcproj">tbbmalloc_proxy.vcproj</A> |
||||
|
<DD>Standard allocator replacement project file. |
||||
|
</DL> |
||||
|
|
||||
|
<HR> |
||||
|
<A HREF="../index.html">Up to parent directory</A> |
||||
|
<P></P> |
||||
|
Copyright © 2005-2013 Intel Corporation. All Rights Reserved. |
||||
|
<P></P> |
||||
|
Intel is a registered trademark or trademark of Intel Corporation |
||||
|
or its subsidiaries in the United States and other countries. |
||||
|
<p></p> |
||||
|
* Other names and brands may be claimed as the property of others. |
||||
|
</BODY> |
||||
|
</HTML> |
@ -0,0 +1,84 @@ |
|||||
|
Microsoft Visual Studio Solution File, Format Version 10.00 |
||||
|
# Visual Studio 2008 |
||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8898CE0B-0BFB-45AE-AA71-83735ED2510D}" |
||||
|
ProjectSection(SolutionItems) = preProject |
||||
|
index.html = index.html |
||||
|
EndProjectSection |
||||
|
EndProject |
||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tbb", "tbb.vcproj", "{F62787DD-1327-448B-9818-030062BCFAA5}" |
||||
|
EndProject |
||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tbbmalloc", "tbbmalloc.vcproj", "{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}" |
||||
|
ProjectSection(ProjectDependencies) = postProject |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5} = {F62787DD-1327-448B-9818-030062BCFAA5} |
||||
|
EndProjectSection |
||||
|
EndProject |
||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tbbmalloc_proxy", "tbbmalloc_proxy.vcproj", "{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}" |
||||
|
ProjectSection(ProjectDependencies) = postProject |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8} = {B15F131E-328A-4D42-ADC2-9FF4CA6306D8} |
||||
|
EndProjectSection |
||||
|
EndProject |
||||
|
Global |
||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
|
Debug|Win32 = Debug|Win32 |
||||
|
Debug|x64 = Debug|x64 |
||||
|
Debug-MT|Win32 = Debug-MT|Win32 |
||||
|
Debug-MT|x64 = Debug-MT|x64 |
||||
|
Release|Win32 = Release|Win32 |
||||
|
Release|x64 = Release|x64 |
||||
|
Release-MT|Win32 = Release-MT|Win32 |
||||
|
Release-MT|x64 = Release-MT|x64 |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|Win32.ActiveCfg = Debug|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|Win32.Build.0 = Debug|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.ActiveCfg = Debug|x64 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.Build.0 = Debug|x64 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|Win32.ActiveCfg = Debug-MT|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|Win32.Build.0 = Debug-MT|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|x64.ActiveCfg = Debug-MT|x64 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|x64.Build.0 = Debug-MT|x64 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release|Win32.ActiveCfg = Release|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release|Win32.Build.0 = Release|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.ActiveCfg = Release|x64 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.Build.0 = Release|x64 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|Win32.ActiveCfg = Release-MT|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|Win32.Build.0 = Release-MT|Win32 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|x64.ActiveCfg = Release-MT|x64 |
||||
|
{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|x64.Build.0 = Release-MT|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|Win32.ActiveCfg = Debug|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|Win32.Build.0 = Debug|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.ActiveCfg = Debug|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.Build.0 = Debug|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|Win32.ActiveCfg = Debug-MT|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|Win32.Build.0 = Debug-MT|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|x64.ActiveCfg = Debug-MT|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|x64.Build.0 = Debug-MT|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|Win32.ActiveCfg = Release|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|Win32.Build.0 = Release|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.ActiveCfg = Release|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.Build.0 = Release|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|Win32.ActiveCfg = Release-MT|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|Win32.Build.0 = Release-MT|Win32 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|x64.ActiveCfg = Release-MT|x64 |
||||
|
{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|x64.Build.0 = Release-MT|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|Win32.ActiveCfg = Debug|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|Win32.Build.0 = Debug|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|x64.ActiveCfg = Debug|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|x64.Build.0 = Debug|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|Win32.ActiveCfg = Debug-MT|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|Win32.Build.0 = Debug-MT|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|x64.ActiveCfg = Debug-MT|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|x64.Build.0 = Debug-MT|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|Win32.ActiveCfg = Release|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|Win32.Build.0 = Release|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|x64.ActiveCfg = Release|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|x64.Build.0 = Release|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|Win32.ActiveCfg = Release-MT|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|Win32.Build.0 = Release-MT|Win32 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|x64.ActiveCfg = Release-MT|x64 |
||||
|
{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|x64.Build.0 = Release-MT|x64 |
||||
|
EndGlobalSection |
||||
|
GlobalSection(SolutionProperties) = preSolution |
||||
|
HideSolutionNode = FALSE |
||||
|
EndGlobalSection |
||||
|
EndGlobal |
@ -0,0 +1,538 @@ |
|||||
|
<?xml version="1.0" encoding="windows-1251"?> |
||||
|
<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="tbb" ProjectGUID="{F62787DD-1327-448B-9818-030062BCFAA5}" RootNamespace="tbb" Keyword="Win32Proj" TargetFrameworkVersion="131072"> |
||||
|
<Platforms> |
||||
|
<Platform Name="Win32"/> |
||||
|
<Platform Name="x64"/> |
||||
|
</Platforms> |
||||
|
<ToolFiles> |
||||
|
<DefaultToolFile FileName="masm.rules"/> |
||||
|
</ToolFiles> |
||||
|
<Configurations> |
||||
|
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3" ShowIncludes="false"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" AdditionalIncludeDirectories="." PreprocessorDefinitions="" RuntimeLibrary="2" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" AdditionalIncludeDirectories="." PreprocessorDefinitions="" RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug-MT|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug-MT|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3" ShowIncludes="false"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release-MT|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MT /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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" AdditionalIncludeDirectories="." PreprocessorDefinitions="" RuntimeLibrary="0" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release-MT|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MT /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=0x0501 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include" AdditionalIncludeDirectories="." PreprocessorDefinitions="" RuntimeLibrary="0" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbb.def"" OutputFile="$(OutDir)\tbb.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
</Configurations> |
||||
|
<References> |
||||
|
</References> |
||||
|
<Files> |
||||
|
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> |
||||
|
<File RelativePath="..\..\src\tbb\ia32-masm\atomic_support.asm"> |
||||
|
<FileConfiguration Name="Debug|Win32"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\intel64-masm\atomic_support.asm"> |
||||
|
<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Debug\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Debug\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Release\atomic_support.obj" /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Release\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Debug-MT\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Debug-MT\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Release-MT\atomic_support.obj" /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Release-MT\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\intel64-masm\intel64_misc.asm"> |
||||
|
<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building intel64_misc.obj" CommandLine="ml64 /Fo"intel64\Debug\intel64_misc.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm |
||||
|
" Outputs="intel64\Debug\intel64_misc.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building intel64_misc.obj" CommandLine="ml64 /Fo"intel64\Release\intel64_misc.obj" /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm |
||||
|
" Outputs="intel64\Release\intel64_misc.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building intel64_misc.obj" CommandLine="ml64 /Fo"intel64\Debug-MT\intel64_misc.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm |
||||
|
" Outputs="intel64\Debug-MT\intel64_misc.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building intel64_misc.obj" CommandLine="ml64 /Fo"intel64\Release-MT\intel64_misc.obj" /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm |
||||
|
" Outputs="intel64\Release-MT\intel64_misc.obj"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\ia32-masm\lock_byte.asm"> |
||||
|
<FileConfiguration Name="Debug|Win32"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM" AdditionalOptions="/coff /Zi"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="MASM"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\win32-tbb-export.def"> |
||||
|
<FileConfiguration Name="Debug|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\win64-tbb-export.def"> |
||||
|
<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbb.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)\tbb.def" |
||||
|
" Outputs=""$(IntDir)\tbb.def""/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\concurrent_hash_map.cpp"/><File RelativePath="..\..\src\tbb\concurrent_queue.cpp"/><File RelativePath="..\..\src\tbb\concurrent_vector.cpp"/><File RelativePath="..\..\src\tbb\dynamic_link.cpp"/><File RelativePath="..\..\src\tbb\itt_notify.cpp"/><File RelativePath="..\..\src\tbb\cache_aligned_allocator.cpp"/><File RelativePath="..\..\src\tbb\pipeline.cpp"/><File RelativePath="..\..\src\tbb\queuing_mutex.cpp"/><File RelativePath="..\..\src\tbb\queuing_rw_mutex.cpp"/><File RelativePath="..\..\src\tbb\reader_writer_lock.cpp"/><File RelativePath="..\..\src\tbb\spin_rw_mutex.cpp"/><File RelativePath="..\..\src\tbb\spin_mutex.cpp"/><File RelativePath="..\..\src\tbb\critical_section.cpp"/><File RelativePath="..\..\src\tbb\task.cpp"/><File RelativePath="..\..\src\tbb\tbb_misc.cpp"/><File RelativePath="..\..\src\tbb\tbb_misc_ex.cpp"/><File RelativePath="..\..\src\tbb\mutex.cpp"/><File RelativePath="..\..\src\tbb\recursive_mutex.cpp"/><File RelativePath="..\..\src\tbb\condition_variable.cpp"/><File RelativePath="..\..\src\tbb\tbb_thread.cpp"/><File RelativePath="..\..\src\tbb\concurrent_monitor.cpp"/><File RelativePath="..\..\src\tbb\semaphore.cpp"/><File RelativePath="..\..\src\tbb\private_server.cpp"/><File RelativePath="..\..\src\rml\client\rml_tbb.cpp"/><File RelativePath="..\..\src\tbb\task_group_context.cpp"/><File RelativePath="..\..\src\tbb\governor.cpp"/><File RelativePath="..\..\src\tbb\market.cpp"/><File RelativePath="..\..\src\tbb\arena.cpp"/><File RelativePath="..\..\src\tbb\scheduler.cpp"/><File RelativePath="..\..\src\tbb\observer_proxy.cpp"/><File RelativePath="..\..\src\tbb\tbb_statistics.cpp"/><File RelativePath="..\..\src\tbb\tbb_main.cpp"/><File RelativePath="..\..\src\old\concurrent_vector_v2.cpp"/><File RelativePath="..\..\src\old\concurrent_queue_v2.cpp"/><File RelativePath="..\..\src\old\spin_rw_mutex_v2.cpp"/><File RelativePath="..\..\src\old\task_v2.cpp"/></Filter> |
||||
|
<Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> |
||||
|
<File RelativePath="..\..\include\tbb\internal\_concurrent_queue_impl.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\_tbb_windef.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\aligned_space.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\atomic.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\blocked_range.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\blocked_range2d.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\blocked_range3d.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\cache_aligned_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\combinable.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\concurrent_hash_map.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\concurrent_monitor.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\concurrent_priority_queue.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\concurrent_queue.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\old\concurrent_queue_v2.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\concurrent_vector.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\old\concurrent_vector_v2.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\critical_section.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\dynamic_link.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\enumerable_thread_specific.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\gate.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_assert.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_bad_expr.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_barrier.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_concurrency_tracker.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_cpu.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_eh.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_iterator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_m128.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_memory.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\harness_report.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\ibm_aix51.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\itt_notify.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\linux_common.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\linux_ia32.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\linux_ia64.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\linux_intel64.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\mac_ppc.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\null_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\null_rw_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_do.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_for.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_for_each.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_invoke.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_reduce.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_scan.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_sort.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_while.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\partitioner.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\pipeline.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\compat\ppl.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\queuing_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\queuing_rw_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\reader_writer_lock.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\recursive_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\scalable_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\semaphore.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\spin_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\spin_rw_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\old\spin_rw_mutex_v2.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task_group.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task_scheduler_init.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task_scheduler_observer.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\tbb_assert_impl.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_config.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_exception.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_machine.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\tbb_misc.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_profiling.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_stddef.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_thread.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\tbb_version.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbbmalloc_proxy.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\test_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\test\test_allocator_STL.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tick_count.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbb\tls.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\windows_ia32.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\windows_intel64.h"> |
||||
|
</File> |
||||
|
</Filter> |
||||
|
<Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> |
||||
|
<File RelativePath="..\..\src\tbb\tbb_resource.rc"> |
||||
|
<FileConfiguration Name="Debug|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
</Filter> |
||||
|
</Files> |
||||
|
<Globals> |
||||
|
</Globals> |
||||
|
</VisualStudioProject> |
@ -0,0 +1,418 @@ |
|||||
|
<?xml version="1.0" encoding="windows-1251"?> |
||||
|
<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="tbbmalloc" ProjectGUID="{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}" RootNamespace="tbbmalloc" Keyword="Win32Proj" TargetFrameworkVersion="131072"> |
||||
|
<Platforms> |
||||
|
<Platform Name="Win32"/> |
||||
|
<Platform Name="x64"/> |
||||
|
</Platforms> |
||||
|
<ToolFiles> |
||||
|
<DefaultToolFile FileName="masm.rules"/> |
||||
|
</ToolFiles> |
||||
|
<Configurations> |
||||
|
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MDd /Od /Ob0 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" ExceptionHandling="0" BasicRuntimeChecks="0" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MDd /Od /Ob0 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." Optimization="0" AdditionalIncludeDirectories="." MinimalRebuild="false" ExceptionHandling="0" BasicRuntimeChecks="0" RuntimeLibrary="3" BufferSecurityCheck="false" TreatWChar_tAsBuiltInType="true" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3" ShowIncludes="false"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MD /O2 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="2" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MD /O2 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug-MT|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MTd /Od /Ob0 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" ExceptionHandling="0" BasicRuntimeChecks="0" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug-MT|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MTd /Od /Ob0 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." Optimization="0" AdditionalIncludeDirectories="." MinimalRebuild="false" ExceptionHandling="0" BasicRuntimeChecks="0" RuntimeLibrary="1" BufferSecurityCheck="false" TreatWChar_tAsBuiltInType="true" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3" ShowIncludes="false"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release-MT|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MT /O2 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="0" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release-MT|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MT /O2 /Zi /EHs- /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=0x0501 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I." AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="0" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)\tbbmalloc.def"" OutputFile="$(OutDir)\tbbmalloc.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
</Configurations> |
||||
|
<References> |
||||
|
</References> |
||||
|
<Files> |
||||
|
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> |
||||
|
<File RelativePath="..\..\src\tbb\intel64-masm\atomic_support.asm"> |
||||
|
<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Debug\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Debug\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Release\atomic_support.obj" /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Release\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Debug-MT\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Debug-MT\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32" ExcludedFromBuild="true"> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="building atomic_support.obj" CommandLine="ml64 /Fo"intel64\Release-MT\atomic_support.obj" /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm |
||||
|
" Outputs="intel64\Release-MT\atomic_support.obj"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\win32-tbbmalloc-export.def"> |
||||
|
<FileConfiguration Name="Debug|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\win64-tbbmalloc-export.def"> |
||||
|
<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32" ExcludedFromBuild="true"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCCustomBuildTool" Description="generating tbbmalloc.def file" CommandLine="cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)\tbbmalloc.def" |
||||
|
" Outputs=""$(IntDir)\tbbmalloc.def""/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\backend.cpp"/><File RelativePath="..\..\src\tbbmalloc\large_objects.cpp"/><File RelativePath="..\..\src\tbbmalloc\backref.cpp"/><File RelativePath="..\..\src\tbbmalloc\tbbmalloc.cpp"/><File RelativePath="..\..\src\tbb\itt_notify.cpp"/><File RelativePath="..\..\src\tbbmalloc\frontend.cpp"/></Filter> |
||||
|
<Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> |
||||
|
<File RelativePath="..\..\include\tbb\internal\_concurrent_queue_impl.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\_tbb_windef.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\aligned_space.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\atomic.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\blocked_range.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\blocked_range2d.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\blocked_range3d.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\cache_aligned_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\combinable.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\concurrent_hash_map.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\concurrent_queue.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\concurrent_vector.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\critical_section.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\Customize.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\enumerable_thread_specific.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\LifoList.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\MapMemory.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\null_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\null_rw_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_do.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_for.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_for_each.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_invoke.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_reduce.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_scan.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_sort.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\parallel_while.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\partitioner.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\pipeline.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\proxy.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\queuing_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\queuing_rw_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\recursive_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\scalable_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\spin_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\spin_rw_mutex.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\Statistics.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task_group.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task_scheduler_init.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\task_scheduler_observer.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_allocator.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_config.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_exception.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\tbb_function_replacement.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_machine.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_profiling.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_stddef.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_thread.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbb_version.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbbmalloc_proxy.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tick_count.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\TypeDefinitions.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\windows_ia32.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\machine\windows_intel64.h"> |
||||
|
</File> |
||||
|
</Filter> |
||||
|
<Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\tbbmalloc.rc"> |
||||
|
<FileConfiguration Name="Debug|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
</Filter> |
||||
|
</Files> |
||||
|
<Globals> |
||||
|
</Globals> |
||||
|
</VisualStudioProject> |
@ -0,0 +1,214 @@ |
|||||
|
<?xml version="1.0" encoding="windows-1251"?> |
||||
|
<VisualStudioProject ProjectType="Visual C++" Version="9.00" Name="tbbmalloc_proxy" ProjectGUID="{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}" RootNamespace="tbbmalloc_proxy" Keyword="Win32Proj" TargetFrameworkVersion="131072"> |
||||
|
<Platforms> |
||||
|
<Platform Name="Win32"/> |
||||
|
<Platform Name="x64"/> |
||||
|
</Platforms> |
||||
|
<ToolFiles> |
||||
|
<DefaultToolFile FileName="masm.rules"/> |
||||
|
</ToolFiles> |
||||
|
<Configurations> |
||||
|
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" ExceptionHandling="1" BasicRuntimeChecks="0" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO " OutputFile="$(OutDir)\tbbmalloc_proxy_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" Optimization="0" AdditionalIncludeDirectories="." MinimalRebuild="false" ExceptionHandling="0" BasicRuntimeChecks="0" RuntimeLibrary="3" BufferSecurityCheck="false" TreatWChar_tAsBuiltInType="true" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3" ShowIncludes="false"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO" OutputFile="$(OutDir)\tbbmalloc_proxy_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="2" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO " OutputFile="$(OutDir)\tbbmalloc_proxy.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="2" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO" OutputFile="$(OutDir)\tbbmalloc_proxy.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug-MT|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" Optimization="0" AdditionalIncludeDirectories="." PreprocessorDefinitions="" MinimalRebuild="true" ExceptionHandling="1" BasicRuntimeChecks="0" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO " OutputFile="$(OutDir)\tbbmalloc_proxy_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Debug-MT|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" 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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" Optimization="0" AdditionalIncludeDirectories="." MinimalRebuild="false" ExceptionHandling="0" BasicRuntimeChecks="0" RuntimeLibrary="1" BufferSecurityCheck="false" TreatWChar_tAsBuiltInType="true" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3" ShowIncludes="false"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO" OutputFile="$(OutDir)\tbbmalloc_proxy_debug.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release-MT|Win32" OutputDirectory="$(SolutionDir)ia32\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)ia32\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MT /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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="0" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO " OutputFile="$(OutDir)\tbbmalloc_proxy.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
<Configuration Name="Release-MT|x64" OutputDirectory="$(SolutionDir)intel64\$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)intel64\$(ConfigurationName)" ConfigurationType="2" CharacterSet="0" WholeProgramOptimization="1"> |
||||
|
<Tool Name="VCPreBuildEventTool"/> |
||||
|
<Tool Name="VCCustomBuildTool"/> |
||||
|
<Tool Name="MASM"/> |
||||
|
<Tool Name="VCXMLDataGeneratorTool"/> |
||||
|
<Tool Name="VCWebServiceProxyGeneratorTool"/> |
||||
|
<Tool Name="VCMIDLTool" TargetEnvironment="3"/> |
||||
|
<Tool Name="VCCLCompilerTool" AdditionalOptions=" /c /MT /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=0x0501 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc" AdditionalIncludeDirectories="." PreprocessorDefinitions="" ExceptionHandling="0" RuntimeLibrary="0" BufferSecurityCheck="false" UsePrecompiledHeader="0" WarningLevel="4" DebugInformationFormat="3"/> |
||||
|
<Tool Name="VCManagedResourceCompilerTool"/> |
||||
|
<Tool Name="VCResourceCompilerTool"/> |
||||
|
<Tool Name="VCPreLinkEventTool"/> |
||||
|
<Tool Name="VCLinkerTool" AdditionalOptions="/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO" OutputFile="$(OutDir)\tbbmalloc_proxy.dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="17"/> |
||||
|
<Tool Name="VCALinkTool"/> |
||||
|
<Tool Name="VCManifestTool"/> |
||||
|
<Tool Name="VCXDCMakeTool"/> |
||||
|
<Tool Name="VCBscMakeTool"/> |
||||
|
<Tool Name="VCFxCopTool"/> |
||||
|
<Tool Name="VCAppVerifierTool"/> |
||||
|
<Tool Name="VCPostBuildEventTool"/> |
||||
|
</Configuration> |
||||
|
</Configurations> |
||||
|
<References> |
||||
|
</References> |
||||
|
<Files> |
||||
|
<Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\proxy.cpp"/><File RelativePath="..\..\src\tbbmalloc\tbb_function_replacement.cpp"/></Filter> |
||||
|
<Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\tbb_function_replacement.h"> |
||||
|
</File> |
||||
|
<File RelativePath="..\..\include\tbb\tbbmalloc_proxy.h"> |
||||
|
</File> |
||||
|
</Filter> |
||||
|
<Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> |
||||
|
<File RelativePath="..\..\src\tbbmalloc\tbbmalloc.rc"> |
||||
|
<FileConfiguration Name="Debug|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Debug-MT|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|Win32"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
<FileConfiguration Name="Release-MT|x64"> |
||||
|
<Tool Name="VCResourceCompilerTool" AdditionalOptions="/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400"/> |
||||
|
</FileConfiguration> |
||||
|
</File> |
||||
|
</Filter> |
||||
|
</Files> |
||||
|
<Globals> |
||||
|
</Globals> |
||||
|
</VisualStudioProject> |
@ -0,0 +1 @@ |
|||||
|
#define __TBB_VERSION_STRINGS(N) "Empty" |
@ -0,0 +1,138 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Define compiler-specific variables. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting compiler flags. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
CPLUS = cl /nologo |
||||
|
LINK_FLAGS = /link /nologo |
||||
|
LIB_LINK_FLAGS=/link /nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DYNAMICBASE /NXCOMPAT |
||||
|
|
||||
|
ifeq ($(arch), ia32) |
||||
|
LIB_LINK_FLAGS += /SAFESEH |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(runtime), vc_mt) |
||||
|
MS_CRT_KEY = /MT$(if $(findstring debug,$(cfg)),d) |
||||
|
else |
||||
|
MS_CRT_KEY = /MD$(if $(findstring debug,$(cfg)),d) |
||||
|
endif |
||||
|
EH_FLAGS = /EHsc /GR |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = $(MS_CRT_KEY) /O2 /Zi $(EH_FLAGS) /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=$(TBB.LIB) |
||||
|
ASM_FLAGS = |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = $(MS_CRT_KEY) /Od /Ob0 /Zi $(EH_FLAGS) /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=$(TBB.LIB) |
||||
|
ASM_FLAGS = /DUSE_FRAME_POINTER |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(target_ui), win8ui) |
||||
|
CPLUS_FLAGS += /D "_UNICODE" /D "UNICODE" /D "WINAPI_FAMILY=WINAPI_FAMILY_APP" |
||||
|
_WIN32_WINNT=0x0602 |
||||
|
ifeq ($(target_ui_mode), production) |
||||
|
LIB_LINK_FLAGS += /APPCONTAINER |
||||
|
endif |
||||
|
else |
||||
|
CPLUS_FLAGS += /DDO_ITT_NOTIFY |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += /GS |
||||
|
|
||||
|
COMPILE_ONLY = /c |
||||
|
PREPROC_ONLY = /TP /EP |
||||
|
INCLUDE_KEY = /I |
||||
|
DEFINE_KEY = /D |
||||
|
OUTPUT_KEY = /Fe |
||||
|
OUTPUTOBJ_KEY = /Fo |
||||
|
WARNING_AS_ERROR_KEY = /WX |
||||
|
|
||||
|
ifeq ($(runtime),vc7.1) |
||||
|
WARNING_KEY = /W3 |
||||
|
else |
||||
|
WARNING_KEY = /W4 |
||||
|
OPENMP_FLAG = /openmp |
||||
|
endif |
||||
|
|
||||
|
DYLIB_KEY = /DLL |
||||
|
EXPORT_KEY = /DEF: |
||||
|
NODEFAULTLIB_KEY = /Zl |
||||
|
NOINTRINSIC_KEY = /Oi- |
||||
|
|
||||
|
ifeq ($(runtime),vc8) |
||||
|
WARNING_KEY += /Wp64 |
||||
|
CPLUS_FLAGS += /D_USE_RTM_VERSION |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE \ |
||||
|
/D_WIN32_WINNT=$(_WIN32_WINNT) |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting compiler flags. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
ASSEMBLY_SOURCE=$(arch)-masm |
||||
|
ifeq (intel64,$(arch)) |
||||
|
ASM=ml64 /nologo |
||||
|
ASM_FLAGS += /DEM64T=1 /c /Zi |
||||
|
TBB_ASM.OBJ = atomic_support.obj intel64_misc.obj |
||||
|
MALLOC_ASM.OBJ = atomic_support.obj |
||||
|
else |
||||
|
ASM=ml /nologo |
||||
|
ASM_FLAGS += /c /coff /Zi /safeseh |
||||
|
TBB_ASM.OBJ = atomic_support.obj lock_byte.obj |
||||
|
endif |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
ifneq ($(target_ui), win8ui) |
||||
|
M_CPLUS_FLAGS = $(subst $(EH_FLAGS),/EHs-,$(CPLUS_FLAGS)) |
||||
|
else |
||||
|
M_CPLUS_FLAGS = $(CPLUS_FLAGS) |
||||
|
endif |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of define compiler-specific variables. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,145 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Overriding settings from windows.inc |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
SLASH= $(strip \) |
||||
|
OBJ = o |
||||
|
LIBEXT = dll # MinGW allows linking with DLLs directly |
||||
|
|
||||
|
TBB.RES = |
||||
|
MALLOC.RES = |
||||
|
RML.RES = |
||||
|
TBB.MANIFEST = |
||||
|
MALLOC.MANIFEST = |
||||
|
RML.MANIFEST = |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
TBB.LST = $(tbb_root)/src/tbb/lin32-tbb-export.lst |
||||
|
else |
||||
|
TBB.LST = $(tbb_root)/src/tbb/win64-gcc-tbb-export.lst |
||||
|
endif |
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-gcc-tbbmalloc-export.def |
||||
|
RML.DEF = $(RML_SERVER_ROOT)/lin-rml-export.def |
||||
|
|
||||
|
LINK_TBB.LIB = $(TBB.LIB) |
||||
|
# no TBB proxy for the configuration |
||||
|
PROXY.LIB = |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of overridden settings |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Compiler-specific variables |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
CPLUS = g++ |
||||
|
COMPILE_ONLY = -c -MMD |
||||
|
PREPROC_ONLY = -E -x c++ |
||||
|
INCLUDE_KEY = -I |
||||
|
DEFINE_KEY = -D |
||||
|
OUTPUT_KEY = -o # |
||||
|
OUTPUTOBJ_KEY = -o # |
||||
|
PIC_KEY = |
||||
|
WARNING_AS_ERROR_KEY = -Werror |
||||
|
WARNING_KEY = -Wall |
||||
|
TEST_WARNING_KEY = -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wno-uninitialized |
||||
|
WARNING_SUPPRESS = -Wno-parentheses -Wno-uninitialized |
||||
|
DYLIB_KEY = -shared |
||||
|
LIBDL = |
||||
|
EXPORT_KEY = -Wl,--version-script, |
||||
|
LIBS = -lpsapi |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of compiler-specific variables |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Command lines |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
LINK_FLAGS = -Wl,--enable-auto-import |
||||
|
LIB_LINK_FLAGS = $(DYLIB_KEY) |
||||
|
# gcc 4.4 and higher support -std=c++0x |
||||
|
ifeq (ok,$(shell cmd /C "cscript /nologo /E:jscript $(tbb_root)/build/detect.js /minversion gcc 4.4")) |
||||
|
CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = -O2 |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG |
||||
|
endif |
||||
|
|
||||
|
ifneq (00,$(lambdas)$(cpp0x)) |
||||
|
CXX_ONLY_FLAGS += $(CPP11_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += -DUSE_WINTHREAD |
||||
|
CPLUS_FLAGS += -D_WIN32_WINNT=$(_WIN32_WINNT) |
||||
|
|
||||
|
# MinGW specific |
||||
|
CPLUS_FLAGS += -DMINGW_HAS_SECURE_API=1 -D__MSVCRT_VERSION__=0x0700 -msse -mthreads |
||||
|
|
||||
|
CONLY = gcc |
||||
|
debugger = gdb |
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
ifeq (intel64,$(arch)) |
||||
|
CPLUS_FLAGS += -m64 |
||||
|
LIB_LINK_FLAGS += -m64 |
||||
|
endif |
||||
|
|
||||
|
ifeq (ia32,$(arch)) |
||||
|
CPLUS_FLAGS += -m32 -march=i686 |
||||
|
LIB_LINK_FLAGS += -m32 |
||||
|
endif |
||||
|
|
||||
|
# For examples |
||||
|
export UNIXMODE = 1 |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of command lines |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
ASM= |
||||
|
ASM_FLAGS= |
||||
|
TBB_ASM.OBJ= |
||||
|
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 |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,173 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Define compiler-specific variables. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting default configuration to release. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
cfg ?= release |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting default configuration to release. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting compiler flags. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
CPLUS = icl /nologo $(VCCOMPAT_FLAG) |
||||
|
LINK_FLAGS = /link /nologo |
||||
|
LIB_LINK_FLAGS= /link /nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DYNAMICBASE /NXCOMPAT |
||||
|
|
||||
|
ifeq ($(arch), ia32) |
||||
|
LIB_LINK_FLAGS += /SAFESEH |
||||
|
endif |
||||
|
|
||||
|
|
||||
|
# ICC 11.0 and higher support -std=c++0x |
||||
|
ifeq (ok,$(shell cmd /C "cscript /nologo /E:jscript $(tbb_root)/build/detect.js /minversion icl 11")) |
||||
|
CPP11_FLAGS = /Qstd=c++0x /D_TBB_CPP0X |
||||
|
endif |
||||
|
|
||||
|
# ICC 12.0 and higher provide Intel(R) Cilk Plus |
||||
|
ifeq (ok,$(shell cmd /C "cscript /nologo /E:jscript $(tbb_root)/build/detect.js /minversion icl 12")) |
||||
|
CILK_AVAILABLE = yes |
||||
|
endif |
||||
|
|
||||
|
ifeq ($(runtime), vc_mt) |
||||
|
MS_CRT_KEY = /MT$(if $(findstring debug,$(cfg)),d) |
||||
|
else |
||||
|
MS_CRT_KEY = /MD$(if $(findstring debug,$(cfg)),d) |
||||
|
endif |
||||
|
EH_FLAGS = /EHsc /GR |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = $(MS_CRT_KEY) /O2 /Zi $(EH_FLAGS) /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=$(TBB.LIB) |
||||
|
ASM_FLAGS = |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = $(MS_CRT_KEY) /Od /Ob0 /Zi $(EH_FLAGS) /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=$(TBB.LIB) |
||||
|
ASM_FLAGS = /DUSE_FRAME_POINTER |
||||
|
endif |
||||
|
CPLUS_FLAGS += /GS |
||||
|
|
||||
|
COMPILE_ONLY = /c /QMMD |
||||
|
# PREPROC_ONLY should really use /TP which applies to all files in the command line. |
||||
|
# But with /TP, ICL does not preprocess *.def files. |
||||
|
PREPROC_ONLY = /EP /Tp |
||||
|
INCLUDE_KEY = /I |
||||
|
DEFINE_KEY = /D |
||||
|
OUTPUT_KEY = /Fe |
||||
|
OUTPUTOBJ_KEY = /Fo |
||||
|
WARNING_AS_ERROR_KEY = /WX |
||||
|
WARNING_KEY = /W3 |
||||
|
DYLIB_KEY = /DLL |
||||
|
EXPORT_KEY = /DEF: |
||||
|
NODEFAULTLIB_KEY = /Zl |
||||
|
NOINTRINSIC_KEY = /Oi- |
||||
|
|
||||
|
|
||||
|
ifneq (,$(codecov)) |
||||
|
CPLUS_FLAGS += /Qprof-genx |
||||
|
else |
||||
|
CPLUS_FLAGS += /DDO_ITT_NOTIFY |
||||
|
endif |
||||
|
|
||||
|
OPENMP_FLAG = /Qopenmp |
||||
|
CPLUS_FLAGS += /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE \ |
||||
|
/D_WIN32_WINNT=$(_WIN32_WINNT) |
||||
|
|
||||
|
ifeq ($(runtime),vc8) |
||||
|
CPLUS_FLAGS += /D_USE_RTM_VERSION |
||||
|
endif |
||||
|
|
||||
|
|
||||
|
C_FLAGS = $(CPLUS_FLAGS) |
||||
|
|
||||
|
ifneq (00,$(lambdas)$(cpp0x)) |
||||
|
CPLUS_FLAGS += $(CPP11_FLAGS) |
||||
|
endif |
||||
|
|
||||
|
VCVERSION:=$(runtime) |
||||
|
VCCOMPAT_FLAG ?= $(if $(findstring vc7.1, $(VCVERSION)),/Qvc7.1) |
||||
|
ifeq ($(VCCOMPAT_FLAG),) |
||||
|
VCCOMPAT_FLAG := $(if $(findstring vc8, $(VCVERSION)),/Qvc8) |
||||
|
endif |
||||
|
ifeq ($(VCCOMPAT_FLAG),) |
||||
|
VCCOMPAT_FLAG := $(if $(findstring vc_mt, $(VCVERSION)),/Qvc10) |
||||
|
endif |
||||
|
ifeq ($(VCCOMPAT_FLAG),) |
||||
|
VCCOMPAT_FLAG := $(if $(findstring vc9, $(VCVERSION)),/Qvc9) |
||||
|
endif |
||||
|
ifeq ($(VCCOMPAT_FLAG),) |
||||
|
VCCOMPAT_FLAG := $(if $(findstring vc10, $(VCVERSION)),/Qvc10) |
||||
|
endif |
||||
|
ifeq ($(VCCOMPAT_FLAG),) |
||||
|
VCCOMPAT_FLAG := $(if $(findstring vc11, $(VCVERSION)),/Qvc11) |
||||
|
endif |
||||
|
ifeq ($(VCCOMPAT_FLAG),) |
||||
|
$(error VC version not detected correctly: $(VCVERSION) ) |
||||
|
endif |
||||
|
export VCCOMPAT_FLAG |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting compiler flags. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
ASSEMBLY_SOURCE=$(arch)-masm |
||||
|
ifeq (intel64,$(arch)) |
||||
|
ASM=ml64 /nologo |
||||
|
ASM_FLAGS += /DEM64T=1 /c /Zi |
||||
|
TBB_ASM.OBJ = atomic_support.obj intel64_misc.obj |
||||
|
MALLOC_ASM.OBJ = atomic_support.obj |
||||
|
else |
||||
|
ASM=ml /nologo |
||||
|
ASM_FLAGS += /c /coff /Zi /safeseh |
||||
|
TBB_ASM.OBJ = atomic_support.obj lock_byte.obj |
||||
|
endif |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
M_CPLUS_FLAGS = $(subst $(EH_FLAGS),/EHs-,$(CPLUS_FLAGS)) |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of define compiler-specific variables. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,111 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
export SHELL = cmd |
||||
|
|
||||
|
ifdef tbb_build_dir |
||||
|
test_dir:=$(tbb_build_dir) |
||||
|
else |
||||
|
test_dir:=. |
||||
|
endif |
||||
|
|
||||
|
# TODO give an error if archs doesn't match |
||||
|
ifndef arch |
||||
|
export arch:=$(shell cmd /C "cscript /nologo /E:jscript $(tbb_root)/build/detect.js /arch $(compiler)") |
||||
|
endif |
||||
|
|
||||
|
ifndef runtime |
||||
|
export runtime:=$(shell cmd /C "cscript /nologo /E:jscript $(tbb_root)/build/detect.js /runtime $(compiler)") |
||||
|
endif |
||||
|
|
||||
|
native_compiler := cl |
||||
|
export compiler ?= cl |
||||
|
debugger ?= devenv /debugexe |
||||
|
|
||||
|
CMD=cmd /C |
||||
|
CWD=$(shell cmd /C echo %CD%) |
||||
|
RM=cmd /C del /Q /F |
||||
|
RD=cmd /C rmdir |
||||
|
MD=cmd /c mkdir |
||||
|
SLASH=\\ |
||||
|
NUL = nul |
||||
|
|
||||
|
AR=lib |
||||
|
AR_OUTPUT_KEY=/out: |
||||
|
AR_FLAGS=/nologo /nodefaultlib |
||||
|
|
||||
|
OBJ = obj |
||||
|
DLL = dll |
||||
|
LIBEXT = lib |
||||
|
ASMEXT = asm |
||||
|
|
||||
|
def_prefix = $(if $(findstring ia32,$(arch)),win32,win64) |
||||
|
|
||||
|
# Target Windows version. Do not increase beyond 0x0501 without prior discussion! |
||||
|
# Used as the value for macro definition opiton in windows.cl.inc etc. |
||||
|
_WIN32_WINNT=0x0501 |
||||
|
|
||||
|
TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst |
||||
|
TBB.DEF = $(TBB.LST:.lst=.def) |
||||
|
TBB.DLL = tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL) |
||||
|
TBB.LIB = tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
TBB.RES = tbb_resource.res |
||||
|
# On Windows, we use #pragma comment to set the proper TBB lib to link with |
||||
|
# But for cross-configuration testing, need to link explicitly |
||||
|
LINK_TBB.LIB = $(if $(crosstest),$(TBB.LIB)) |
||||
|
TBB.MANIFEST = |
||||
|
ifneq ($(filter vc8 vc9,$(runtime)),) |
||||
|
TBB.MANIFEST = tbbmanifest.exe.manifest |
||||
|
endif |
||||
|
|
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def |
||||
|
MALLOC.DLL = tbbmalloc$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOC.LIB = tbbmalloc$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
MALLOC.RES = tbbmalloc.res |
||||
|
MALLOC.MANIFEST = |
||||
|
ifneq ($(filter vc8 vc9,$(runtime)),) |
||||
|
MALLOC.MANIFEST = tbbmanifest.exe.manifest |
||||
|
endif |
||||
|
LINK_MALLOC.LIB = $(MALLOC.LIB) |
||||
|
|
||||
|
MALLOCPROXY.DLL = tbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOCPROXY.LIB = tbbmalloc_proxy$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB) |
||||
|
|
||||
|
PROXY.LIB = tbbproxy$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
|
||||
|
RML.DEF = $(RML_SERVER_ROOT)/$(def_prefix)-rml-export.def |
||||
|
RML.DLL = irml$(DEBUG_SUFFIX).$(DLL) |
||||
|
RML.LIB = irml$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
RML.RES = irml.res |
||||
|
ifneq ($(filter vc8 vc9,$(runtime)),) |
||||
|
RML.MANIFEST = tbbmanifest.exe.manifest |
||||
|
endif |
||||
|
|
||||
|
MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(compiler) $(arch) $(subst \,/,"$(CPLUS) $(CPLUS_FLAGS)") > version_string.ver |
||||
|
MAKE_TBBVARS = cmd /C "$(subst /,\,$(tbb_root))\build\generate_tbbvars.bat" |
||||
|
|
||||
|
TEST_LAUNCHER = $(subst /,\,$(tbb_root))\build\test_launcher.bat $(largs) |
@ -0,0 +1,93 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Define compiler-specific variables. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting compiler flags. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
CPLUS = cl /nologo |
||||
|
LINK_FLAGS = /link /nologo |
||||
|
LIB_LINK_FLAGS=/link /nologo /DLL /MAP /DEBUG |
||||
|
MS_CRT_KEY = /MT$(if $(findstring debug,$(cfg)),d) |
||||
|
EH_FLAGS = /EHsc /GR |
||||
|
|
||||
|
ifeq ($(cfg), release) |
||||
|
CPLUS_FLAGS = $(MS_CRT_KEY) /O2 /Zi $(EH_FLAGS) /Zc:forScope /D_XBOX /DTBB_NO_LEGACY=1 |
||||
|
ASM_FLAGS = |
||||
|
endif |
||||
|
ifeq ($(cfg), debug) |
||||
|
CPLUS_FLAGS = $(MS_CRT_KEY) /Od /Ob0 /Zi $(EH_FLAGS) /Zc:forScope \ |
||||
|
/DTBB_USE_DEBUG /D_XBOX /DTBB_NO_LEGACY=1 |
||||
|
ASM_FLAGS = /DUSE_FRAME_POINTER |
||||
|
endif |
||||
|
|
||||
|
|
||||
|
COMPILE_ONLY = /c |
||||
|
PREPROC_ONLY = /TP /EP |
||||
|
INCLUDE_KEY = /I |
||||
|
DEFINE_KEY = /D |
||||
|
OUTPUT_KEY = /Fe |
||||
|
OUTPUTOBJ_KEY = /Fo |
||||
|
WARNING_AS_ERROR_KEY = /WX |
||||
|
WARNING_KEY = /W3 |
||||
|
DYLIB_KEY = /DLL |
||||
|
EXPORT_KEY = /DEF: |
||||
|
|
||||
|
ifeq (em64t,$(arch)) |
||||
|
CPLUS_FLAGS += /GS- |
||||
|
endif |
||||
|
|
||||
|
CPLUS_FLAGS += /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=$(_WIN32_WINNT) |
||||
|
C_FLAGS = $(CPLUS_FLAGS) /TC |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting compiler flags. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# nothing for XBOX360 |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting assembler data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# Setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
M_CPLUS_FLAGS = $(subst $(EH_FLAGS),/EHs-,$(CPLUS_FLAGS)) |
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of setting tbbmalloc data. |
||||
|
#------------------------------------------------------------------------------ |
||||
|
|
||||
|
#------------------------------------------------------------------------------ |
||||
|
# End of define compiler-specific variables. |
||||
|
#------------------------------------------------------------------------------ |
@ -0,0 +1,80 @@ |
|||||
|
# Copyright 2005-2013 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. |
||||
|
|
||||
|
ifdef tbb_build_dir |
||||
|
test_dir:=$(tbb_build_dir) |
||||
|
else |
||||
|
test_dir:=. |
||||
|
endif |
||||
|
|
||||
|
# TODO give an error if archs doesn't match |
||||
|
ifndef arch |
||||
|
export arch:=xbox360 |
||||
|
endif |
||||
|
|
||||
|
ifndef runtime |
||||
|
export runtime:=xdk |
||||
|
endif |
||||
|
|
||||
|
native_compiler := cl |
||||
|
export compiler ?= cl |
||||
|
debugger ?= devenv /debugexe |
||||
|
|
||||
|
CMD=cmd /C |
||||
|
CWD=$(shell cmd /C echo %CD%) |
||||
|
RM=cmd /C del /Q /F |
||||
|
RD=cmd /C rmdir |
||||
|
MD=cmd /c mkdir |
||||
|
SLASH=\\ |
||||
|
NUL = nul |
||||
|
|
||||
|
OBJ = obj |
||||
|
DLL = dll |
||||
|
LIBEXT = lib |
||||
|
|
||||
|
def_prefix = $(arch) |
||||
|
|
||||
|
# Target Windows version. Do not increase beyond 0x0500 without prior discussion! |
||||
|
# Used as the value for macro definition opiton in compiler specific inc files. |
||||
|
_WIN32_WINNT=0x0400 |
||||
|
|
||||
|
TBB.LST = |
||||
|
TBB.DEF = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.def |
||||
|
TBB.DLL = tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL) |
||||
|
TBB.LIB = tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
TBB.RES = |
||||
|
#On Windows we specify appropriate tbb library using #pragma comment |
||||
|
LINK_TBB.LIB = |
||||
|
|
||||
|
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def |
||||
|
MALLOC.DLL = tbbmalloc$(DEBUG_SUFFIX).$(DLL) |
||||
|
MALLOC.LIB = tbbmalloc$(DEBUG_SUFFIX).$(LIBEXT) |
||||
|
#On Windows we specify appropriate tbbmalloc library using #pragma comment |
||||
|
LINK_MALLOC.LIB = |
||||
|
MALLOC.RES = |
||||
|
|
||||
|
MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(compiler) $(arch) $(subst \,/,"$(CPLUS) $(CPLUS_FLAGS) $(INCLUDES)") > version_string.ver |
||||
|
MAKE_TBBVARS = cmd /C "$(subst /,\,$(tbb_root))\build\generate_tbbvars.bat" |
Reference in new issue
xxxxxxxxxx