diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.gcc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.gcc.inc new file mode 100644 index 000000000..a5f610cac --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.gcc.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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.inc new file mode 100644 index 000000000..7255de866 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/AIX.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.gcc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.gcc.inc new file mode 100644 index 000000000..da461ee25 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.gcc.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.inc new file mode 100644 index 000000000..2c1c66d3b --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/FreeBSD.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.rml b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.rml new file mode 100644 index 000000000..1f7ddbaaf --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.rml @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbb b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbb new file mode 100644 index 000000000..e38450478 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbb @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbmalloc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbmalloc new file mode 100644 index 000000000..49d6a97b0 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbmalloc @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbproxy b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbproxy new file mode 100644 index 000000000..c8ae8450d --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.tbbproxy @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.test b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.test new file mode 100644 index 000000000..b3f272828 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/Makefile.test @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.gcc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.gcc.inc new file mode 100644 index 000000000..27ff9e489 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.gcc.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.inc new file mode 100644 index 000000000..4f8cfae4d --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.suncc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.suncc.inc new file mode 100644 index 000000000..8f4ed7a81 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/SunOS.suncc.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.gcc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.gcc.inc new file mode 100644 index 000000000..682ae2e8e --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.gcc.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.inc new file mode 100644 index 000000000..45650fe72 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.inc @@ -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 + + diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.inc new file mode 100644 index 000000000..887b541d5 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.launcher.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.launcher.sh new file mode 100644 index 000000000..cb23f7bc1 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.linux.launcher.sh @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.macos.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.macos.inc new file mode 100644 index 000000000..51169a614 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.macos.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.windows.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.windows.inc new file mode 100644 index 000000000..a282f5c40 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/android.windows.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/big_iron.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/big_iron.inc new file mode 100644 index 000000000..5ab706fe3 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/big_iron.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/codecov.txt b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/codecov.txt new file mode 100644 index 000000000..e22f8059a --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/codecov.txt @@ -0,0 +1,7 @@ +src/tbb +src/tbbmalloc +include/tbb +src/rml/server +src/rml/client +src/rml/include +source/malloc diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common.inc new file mode 100644 index 000000000..1928443f9 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common.inc @@ -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. + diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common_rules.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common_rules.inc new file mode 100644 index 000000000..340c6c7aa --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/common_rules.inc @@ -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) $< diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/detect.js b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/detect.js new file mode 100644 index 000000000..8e0ce5deb --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/detect.js @@ -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" ); +} + diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.bat b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.bat new file mode 100644 index 000000000..d4e869cde --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.bat @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.sh new file mode 100644 index 000000000..227619f77 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/generate_tbbvars.sh @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/index.html b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/index.html new file mode 100644 index 000000000..97e9120a2 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/index.html @@ -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> diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.gcc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.gcc.inc new file mode 100644 index 000000000..af4c6b2fc --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.gcc.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.icc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.icc.inc new file mode 100644 index 000000000..d3452eb33 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.icc.inc @@ -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. +#------------------------------------------------------------------------------ + diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.inc new file mode 100644 index 000000000..b7badcece --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.xl.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.xl.inc new file mode 100644 index 000000000..5197382e6 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/linux.xl.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.clang.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.clang.inc new file mode 100644 index 000000000..e2347e2f7 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.clang.inc @@ -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. +#------------------------------------------------------------------------------ + diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.gcc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.gcc.inc new file mode 100644 index 000000000..b77b6c78a --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.gcc.inc @@ -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. +#------------------------------------------------------------------------------ + diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.icc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.icc.inc new file mode 100644 index 000000000..da8baeab7 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.icc.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.inc new file mode 100644 index 000000000..cc2dc9c46 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/macos.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.icc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.icc.inc new file mode 100644 index 000000000..ccae7b6c1 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.icc.inc @@ -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. +#------------------------------------------------------------------------------ + + + diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.inc new file mode 100644 index 000000000..87a1b02dd --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.inc @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.launcher.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.launcher.sh new file mode 100644 index 000000000..4709b98a6 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.linux.launcher.sh @@ -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 $? # diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.offload.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.offload.inc new file mode 100644 index 000000000..636887bf3 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/mic.offload.inc @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/suncc.map.pause b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/suncc.map.pause new file mode 100644 index 000000000..a92d08eb1 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/suncc.map.pause @@ -0,0 +1 @@ +hwcap_1 = OVERRIDE; \ No newline at end of file diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.bat b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.bat new file mode 100644 index 000000000..46d60a52c --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.bat @@ -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% diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.sh new file mode 100644 index 000000000..9788ddbec --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/test_launcher.sh @@ -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} # diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_aix.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_aix.sh new file mode 100644 index 000000000..da90d40b1 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_aix.sh @@ -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`"\"" diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_android.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_android.sh new file mode 100644 index 000000000..c4440a9a1 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_android.sh @@ -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`"\"" diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_linux.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_linux.sh new file mode 100644 index 000000000..c00143c51 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_linux.sh @@ -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`"\"" diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_macos.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_macos.sh new file mode 100644 index 000000000..5970aade6 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_macos.sh @@ -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`"\"" diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_sunos.sh b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_sunos.sh new file mode 100644 index 000000000..00dc2ebfb --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_sunos.sh @@ -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`"\"" diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_windows.js b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_windows.js new file mode 100644 index 000000000..3ed16b2a8 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/version_info_windows.js @@ -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 +*/ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/index.html b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/index.html new file mode 100644 index 000000000..162a28b8f --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/index.html @@ -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> diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/makefile.sln b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/makefile.sln new file mode 100644 index 000000000..a4ebd48b6 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/makefile.sln @@ -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 diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbb.vcproj b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbb.vcproj new file mode 100644 index 000000000..860615070 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbb.vcproj @@ -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> diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc.vcproj b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc.vcproj new file mode 100644 index 000000000..a010b9546 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc.vcproj @@ -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> diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc_proxy.vcproj b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc_proxy.vcproj new file mode 100644 index 000000000..d2d0e889e --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/tbbmalloc_proxy.vcproj @@ -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> diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/version_string.ver b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/version_string.ver new file mode 100644 index 000000000..5d8f04e5d --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/vsproject/version_string.ver @@ -0,0 +1 @@ +#define __TBB_VERSION_STRINGS(N) "Empty" diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.cl.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.cl.inc new file mode 100644 index 000000000..9ac351328 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.cl.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.gcc.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.gcc.inc new file mode 100644 index 000000000..4a8ab0637 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.gcc.inc @@ -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 +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.icl.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.icl.inc new file mode 100644 index 000000000..64ddb4c88 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.icl.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.inc new file mode 100644 index 000000000..a0648913e --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/windows.inc @@ -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) diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.cl.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.cl.inc new file mode 100644 index 000000000..358fc1e51 --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.cl.inc @@ -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. +#------------------------------------------------------------------------------ diff --git a/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.inc b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.inc new file mode 100644 index 000000000..d381ba20d --- /dev/null +++ b/resources/3rdparty/tbb41_20130314_merged-win-lin-mac/build/xbox360.inc @@ -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"