summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2012-09-13 22:37:22 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2012-09-13 22:37:22 +0000
commit5ba05b1d2687320e12ca6d38d794a01ab20f5674 (patch)
tree9f18bdca43a04ce296d0658b588f71569ff6e36c /dev-cpp
parentStable arm, bug #434876 (diff)
downloadgentoo-2-5ba05b1d2687320e12ca6d38d794a01ab20f5674.tar.gz
gentoo-2-5ba05b1d2687320e12ca6d38d794a01ab20f5674.tar.bz2
gentoo-2-5ba05b1d2687320e12ca6d38d794a01ab20f5674.zip
Version bump. Updated patch to respect LDFLAGS. Stable and commercially-aligned relaseses now merged to stable
(Portage version: 2.2.01.20972-prefix/cvs/Linux x86_64)
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/tbb/ChangeLog10
-rw-r--r--dev-cpp/tbb/files/tbb-4.1.20120718-ldflags.patch231
-rw-r--r--dev-cpp/tbb/tbb-4.0.297.ebuild6
-rw-r--r--dev-cpp/tbb/tbb-4.1.20120718.ebuild120
4 files changed, 363 insertions, 4 deletions
diff --git a/dev-cpp/tbb/ChangeLog b/dev-cpp/tbb/ChangeLog
index 7c6f272384cd..d05b143aa143 100644
--- a/dev-cpp/tbb/ChangeLog
+++ b/dev-cpp/tbb/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-cpp/tbb
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/ChangeLog,v 1.25 2012/08/08 12:04:53 hasufell Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/ChangeLog,v 1.26 2012/09/13 22:37:22 bicatali Exp $
+
+*tbb-4.1.20120718 (13 Sep 2012)
+
+ 13 Sep 2012; Sébastien Fabbro <bicatali@gentoo.org>
+ +files/tbb-4.1.20120718-ldflags.patch, +tbb-4.1.20120718.ebuild,
+ tbb-4.0.297.ebuild:
+ Version bump. Updated patch to respect LDFLAGS. Stable and commercially-
+ aligned relaseses now merged to stable
08 Aug 2012; Julian Ospald <hasufell@gentoo.org> tbb-4.0.297.ebuild:
filter out --as-needed wrt #418453#c3
diff --git a/dev-cpp/tbb/files/tbb-4.1.20120718-ldflags.patch b/dev-cpp/tbb/files/tbb-4.1.20120718-ldflags.patch
new file mode 100644
index 000000000000..af7f8e6c025e
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.1.20120718-ldflags.patch
@@ -0,0 +1,231 @@
+From: Sebastien Fabbro <bicatali@gentoo.org>
+Date: Thu Sep 13 15:13:19 PDT 2012
+Subject: build system
+
+respect LDFLAGS properly
+wrt https://bugs.gentoo.org/show_bug.cgi?id=418453
+
+diff -Nur tbb41_20120718oss.orig/build/common_rules.inc tbb41_20120718oss/build/common_rules.inc
+--- tbb41_20120718oss.orig/build/common_rules.inc 2012-08-06 05:06:15.000000000 -0700
++++ tbb41_20120718oss/build/common_rules.inc 2012-09-13 14:58:45.556908494 -0700
+@@ -44,8 +44,6 @@
+ 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)
+diff -Nur tbb41_20120718oss.orig/build/Makefile.rml tbb41_20120718oss/build/Makefile.rml
+--- tbb41_20120718oss.orig/build/Makefile.rml 2012-08-06 05:06:15.000000000 -0700
++++ tbb41_20120718oss/build/Makefile.rml 2012-09-13 14:58:45.556908494 -0700
+@@ -103,7 +103,7 @@
+
+ $(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)
++ $(LIB_LINK_CMD) $(LDFLAGS) $(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):
+@@ -126,13 +126,13 @@
+ 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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) 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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) 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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) 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) $<
+@@ -141,7 +141,7 @@
+ $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $< $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS)
+
+ ### run_cmd is usually empty
+ rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS)
+diff -Nur tbb41_20120718oss.orig/build/Makefile.tbb tbb41_20120718oss/build/Makefile.tbb
+--- tbb41_20120718oss.orig/build/Makefile.tbb 2012-08-06 05:06:15.000000000 -0700
++++ tbb41_20120718oss/build/Makefile.tbb 2012-09-13 14:58:45.556908494 -0700
+@@ -120,7 +120,7 @@
+
+ $(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)
++ $(LIB_LINK_CMD) $(LDFLAGS) $(LIB_OUTPUT_KEY)$(TBB.DLL) $(TBB.OBJ) $(TBB.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS)
+
+ ifneq (,$(TBB_NO_VERSION.DLL))
+ $(TBB_NO_VERSION.DLL):
+diff -Nur tbb41_20120718oss.orig/build/Makefile.tbbmalloc tbb41_20120718oss/build/Makefile.tbbmalloc
+--- tbb41_20120718oss.orig/build/Makefile.tbbmalloc 2012-08-06 05:06:15.000000000 -0700
++++ tbb41_20120718oss/build/Makefile.tbbmalloc 2012-09-13 15:06:11.893254873 -0700
+@@ -82,7 +82,7 @@
+
+ $(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)
++ $(subst $(CPLUS),$(CONLY),$(LIB_LINK_CMD)) $(LDFLAGS) $(LIB_OUTPUT_KEY)$(MALLOC.DLL) $(MALLOC.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(MALLOC_LINK_FLAGS)
+
+ ifneq (,$(MALLOCPROXY.DEF))
+ tbbmallocproxy.def: $(MALLOCPROXY.DEF)
+@@ -95,7 +95,7 @@
+ 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)
++ $(LIB_LINK_CMD) $(LDFLAGS) $(LIB_OUTPUT_KEY)$(MALLOCPROXY.DLL) $(PROXY.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(LINK_MALLOC.LIB) $(PROXY_LINK_FLAGS)
+ endif
+
+ ifneq (,$(MALLOC_NO_VERSION.DLL))
+@@ -143,38 +143,38 @@
+ 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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(LDFLAGS) $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(LDFLAGS) $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(LDFLAGS) $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(LDFLAGS) $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(LDFLAGS) $(M_INCLUDES) $< $(LIBS) $(LIBDL) $(LINK_FLAGS)
+
+ test_malloc_used_by_lib.$(DLL): test_malloc_used_by_lib.cpp
+ $(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/LD,$(M_CPLUS_FLAGS)) $(PIC_KEY) $(M_INCLUDES) $(DEFINE_KEY)_USRDLL $< $(MALLOC_LIB) $(LINK_FLAGS) $(DYLIB_KEY)
+
+ $(MALLOC_MAIN_TESTS): %.$(TEST_EXT): %.$(OBJ) $(MALLOC_LIB)
+- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(MALLOC_LIB) $(LIBS) $(LINK_FLAGS)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $< $(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) $^ $(LIBS) $(LINK_FLAGS)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $^ $(LIBS) $(LINK_FLAGS)
+
+ # Rules for generating a test DLL
+ %_dll.$(DLL): %_dll.$(OBJ)
+- $(LIB_LINK_CMD) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $< $(LIBS) $(LINK_FLAGS) $(DYLIB_KEY)
++ $(LIB_LINK_CMD) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $(PIC_KEY) $< $(LIBS) $(LINK_FLAGS) $(DYLIB_KEY)
+ .PRECIOUS: %_dll.$(OBJ)
+
+ test_malloc_atexit.$(TEST_EXT): test_malloc_atexit.$(OBJ) test_malloc_atexit_dll.$(DLL)
+- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(MALLOC_PROXY_LIB) $(MALLOC_LIB) test_malloc_atexit_dll.$(LIBEXT) $(LIBS) $(LINK_FLAGS)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $< $(MALLOC_PROXY_LIB) $(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))
+diff -Nur tbb41_20120718oss.orig/build/Makefile.tbbproxy tbb41_20120718oss/build/Makefile.tbbproxy
+--- tbb41_20120718oss.orig/build/Makefile.tbbproxy 2012-08-06 05:06:15.000000000 -0700
++++ tbb41_20120718oss/build/Makefile.tbbproxy 2012-09-13 14:58:45.557908491 -0700
+@@ -102,7 +102,7 @@
+
+ # Link rules.
+ $(PROXY_TESTS_EXES): %.$(TEST_EXT): %.$(OBJ) $(PROXY_LIB)
+- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(PROXY_LIB) $(LIBS) $(LIBDL) $(LINK_FLAGS)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $< $(PROXY_LIB) $(LIBS) $(LIBDL) $(LINK_FLAGS)
+
+ # Compilation rules.
+ $(PROXY_TESTS_OBJS): %.$(OBJ): %.cpp
+diff -Nur tbb41_20120718oss.orig/build/Makefile.test tbb41_20120718oss/build/Makefile.test
+--- tbb41_20120718oss.orig/build/Makefile.test 2012-08-06 05:06:15.000000000 -0700
++++ tbb41_20120718oss/build/Makefile.test 2012-09-13 15:10:46.438703091 -0700
+@@ -55,17 +55,17 @@
+
+ # 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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $< $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $< $(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
+@@ -82,31 +82,31 @@
+ $(SCHEDULER_DIRECTLY_INCLUDED): WARNING_KEY += $(WARNING_SUPPRESS)
+
+ $(SCHEDULER_DIRECTLY_INCLUDED): %.$(TEST_EXT) : %.$(OBJ) $(SCHEDULER_DEPENDENCIES)
+- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $^ $(LIBDL) $(LIBS) $(LINK_FLAGS)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $^ $(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) $<
++ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(LDFLAGS) $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $(CPP11_FLAGS) $< $(LINK_TBB.LIB) $(LIBS) $(AUX_LIBS) $(LINK_FLAGS)
+
+ test_tbb_header2.$(OBJ): test_tbb_header.cpp
+- $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $(DEFINE_KEY)__TBB_TEST_SECONDARY=1 $< $(OUTPUTOBJ_KEY)$@
++ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(LDFLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $(DEFINE_KEY)__TBB_TEST_SECONDARY=1 $< $(OUTPUTOBJ_KEY)$@
+
+ # Detecting "multiple definition" linker error using the test that covers the whole library
+ test_tbb_header.$(TEST_EXT): test_tbb_header.$(OBJ) test_tbb_header2.$(OBJ) $(TBB.LIB)
+- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_tbb_header.$(OBJ) test_tbb_header2.$(OBJ) $(LINK_TBB.LIB) $(LIBS) $(LINK_FLAGS)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) test_tbb_header.$(OBJ) test_tbb_header2.$(OBJ) $(LINK_TBB.LIB) $(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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $(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
+ %_compiler_builtins.$(TEST_EXT): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_GCC_BUILTINS=1
+ %_compiler_builtins.$(TEST_EXT): %.cpp
+- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $< $(LIBS) $(AUX_LIBS) $(LINK_FLAGS)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $(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) \
+@@ -192,7 +192,7 @@
+
+ ifdef OPENMP_FLAG
+ test_openmp.$(TEST_EXT): test_openmp.cpp
+- $(CPLUS) $(OPENMP_FLAG) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(INCLUDES) $< $(LIBS) $(LINK_TBB.LIB) $(LINK_FLAGS)
++ $(CPLUS) $(OPENMP_FLAG) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $(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
+@@ -202,7 +202,7 @@
+
+ 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)
++ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(LDFLAGS) $< $(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))
diff --git a/dev-cpp/tbb/tbb-4.0.297.ebuild b/dev-cpp/tbb/tbb-4.0.297.ebuild
index dbd64b948d9c..fa0785eb8557 100644
--- a/dev-cpp/tbb/tbb-4.0.297.ebuild
+++ b/dev-cpp/tbb/tbb-4.0.297.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/tbb-4.0.297.ebuild,v 1.10 2012/08/08 12:04:53 hasufell Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/tbb-4.0.297.ebuild,v 1.11 2012/09/13 22:37:22 bicatali Exp $
EAPI=4
inherit eutils flag-o-matic multilib versionator toolchain-funcs
@@ -22,12 +22,12 @@ SRC_URI="http://www.threadingbuildingblocks.org/uploads/${MYU}/${PV1}.${PV2}${MY
LICENSE="GPL-2-with-exceptions"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="debug doc examples"
# FIXME
# https://bugs.gentoo.org/show_bug.cgi?id=412675#c10
# restricting test for stabilization
-RESTRICT="test"
+#RESTRICT="test"
DEPEND=""
RDEPEND="${DEPEND}"
diff --git a/dev-cpp/tbb/tbb-4.1.20120718.ebuild b/dev-cpp/tbb/tbb-4.1.20120718.ebuild
new file mode 100644
index 000000000000..f3c1f1aeb1c2
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.1.20120718.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/tbb-4.1.20120718.ebuild,v 1.1 2012/09/13 22:37:22 bicatali Exp $
+
+EAPI=4
+inherit eutils flag-o-matic multilib versionator toolchain-funcs
+
+# those 2 below change pretty much every release
+# url number
+MYU="77/188"
+# release update
+MYR=""
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+PV3="$(get_version_component_range 3)"
+MYP="${PN}${PV1}${PV2}_${PV3}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="http://www.threadingbuildingblocks.org/"
+SRC_URI="http://www.threadingbuildingblocks.org/uploads/${MYU}/${PV1}.${PV2}${MYR}/${MYP}_src.tgz"
+LICENSE="GPL-2-with-exceptions"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+# FIXME
+# https://bugs.gentoo.org/show_bug.cgi?id=412675#c10
+# sep 12: still many tests are failing
+# restricting test for stabilization
+RESTRICT="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-4.1.20120718-ldflags.patch \
+ "${FILESDIR}"/${PN}-4.0.297-underlinking.patch
+ # use fully qualified compilers. do not force pentium4 for x86 users
+ sed -i \
+ -e "s/-O2/${CXXFLAGS}/g" \
+ -e "/CPLUS/s/g++/$(tc-getCXX)/g" \
+ -e "/CONLY/s/gcc/$(tc-getCC)/g" \
+ -e "s/shell gcc/shell $(tc-getCC)/g" \
+ -e '/CPLUS_FLAGS +=/s/-march=pentium4//' \
+ -e 's/-m64//g' \
+ -e 's/-m32//g' \
+ build/*.inc || die
+ # - Strip the $(shell ... >$(NUL) 2>$(NUL)) wrapping, leaving just the
+ # actual command.
+ # - Force generation of version_string.tmp immediately after the directory
+ # is created. This avoids a race when the user builds tbb and tbbmalloc
+ # concurrently. The choice of Makefile.tbb (instead of
+ # Makefile.tbbmalloc) is arbitrary.
+ #sed -i \
+ # -e 's/^\t\$(shell \(.*\) >\$(NUL) 2>\$(NUL))\s*/\t\1/' \
+ # -e 's!^\t@echo Created \$(work_dir)_\(debug\|release\).*$!&\n\t$(MAKE) -C "$(work_dir)_\1" -r -f $(tbb_root)/build/Makefile.tbb cfg=\1 tbb_root=$(tbb_root) version_string.tmp!' \
+ # src/Makefile || die
+ find include -name \*.html -delete
+
+ cat <<-EOF > ${PN}.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -ltbb -ltbbmalloc
+ Cflags: -I\${includedir}
+ EOF
+}
+
+src_compile() {
+ # wrt #418453#c3
+ append-ldflags $(no-as-needed)
+
+ if [[ $(tc-getCXX) == *g++ ]]; then
+ myconf="compiler=gcc"
+ elif [[ $(tc-getCXX) == *ic*c ]]; then
+ myconf="compiler=icc"
+ fi
+ local ccconf="${myconf}"
+ if use debug || use examples; then
+ ccconf="${ccconf} tbb_debug tbbmalloc_debug"
+ fi
+ emake -C src ${ccconf} tbb_release tbbmalloc_release
+}
+
+src_test() {
+ local ccconf="${myconf}"
+ if use debug || use examples; then
+ ${ccconf}="${myconf} test_debug tbbmalloc_test_debug"
+ fi
+ emake -j1 -C src ${ccconf} test_release
+}
+
+src_install(){
+ local l
+ for l in $(find build -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+ insinto /usr
+ doins -r include
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}