diff options
Diffstat (limited to 'dev-cpp/tbb')
-rw-r--r-- | dev-cpp/tbb/Manifest | 16 | ||||
-rw-r--r-- | dev-cpp/tbb/files/tbb-2017.20161128-build.patch | 187 | ||||
-rw-r--r-- | dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch | 20 | ||||
-rw-r--r-- | dev-cpp/tbb/files/tbb-4.3.20150611-build.patch | 185 | ||||
-rw-r--r-- | dev-cpp/tbb/files/tbb-4.4.20160803-build.patch | 187 | ||||
-rw-r--r-- | dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch | 15 | ||||
-rw-r--r-- | dev-cpp/tbb/metadata.xml | 18 | ||||
-rw-r--r-- | dev-cpp/tbb/tbb-2017.20161128.ebuild | 144 | ||||
-rw-r--r-- | dev-cpp/tbb/tbb-2017.20170226.ebuild | 144 | ||||
-rw-r--r-- | dev-cpp/tbb/tbb-2018.20180312.ebuild | 144 | ||||
-rw-r--r-- | dev-cpp/tbb/tbb-4.3.20150611.ebuild | 131 | ||||
-rw-r--r-- | dev-cpp/tbb/tbb-4.4.20160803.ebuild | 145 |
12 files changed, 1336 insertions, 0 deletions
diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest new file mode 100644 index 000000000000..c2f15179611f --- /dev/null +++ b/dev-cpp/tbb/Manifest @@ -0,0 +1,16 @@ +AUX tbb-2017.20161128-build.patch 4840 BLAKE2B eec4a437f0a609c8f39b76950aae76c9e357cd0705ad521a3304aceb8361c10cdf0d28078370c840ad315cbe06f3b134ca5d58036b2718a136f3958c3942e9c1 SHA512 40ca5bdfe05eecbc47a9af062e6ede3e14200048cdebd796af71cd5f27b350c65e5aa569cc8a6e2f3cfbd90fec167d4f053abc36310b07113910ba25061c56a4 +AUX tbb-4.0.297-underlinking.patch 479 BLAKE2B c4e0410c4651bb7db99494c6746eb43cd488e4f37c38bdbdf4ecf6ab7ece1e469393f6b4296fc41524dec931bdec72e97ed05e3ab8e685584a58519bb945bd61 SHA512 2e5e17d1547e809e035b148ef6d45f5db9902f535a2bc2283051f1cc29d43c32c15db7cdd048a50493a13ccf6b44a3538054e50a47fca080df535bed1768de85 +AUX tbb-4.3.20150611-build.patch 4806 BLAKE2B dd5f785a8c3d6d715c1573a14aaa3dda1216dc4c4a124b24b217e4e919675f2eb64488f8423acf3bd5d568d30bd011c8d107db0b5de2774e7439561da947f758 SHA512 82c8121e2214a02f0bbf647eb03486e5c7db3e180f834001c5ad7ac53791e876ddd63bef1af6ba2590d9673af6beb6b725138bbad8c3b61271b29b7eb72f41c0 +AUX tbb-4.4.20160803-build.patch 4838 BLAKE2B 3e410208ee260dc0839b3658e436d742b8c03eba5eb6f7c6b697bae75d0078a2099b1cf012f32b1a3486d87a2eba123fcad7e651c3ce63dc883491b2e7192af7 SHA512 cee8733f667fec20ea5760176bec587e4c0dfc9286841ccc6f72702a3440fe5ea4054b7e7c22c98d4d4814ef4bd160264962d3a4d58d177141c15cf391c5f30e +AUX tbb-4.4.20160803-underlinking.patch 389 BLAKE2B 88b85cf0a2c8706dff908d4c4e73e1399aa8ac85f7c2df1bd5daebc564e4007c4bf0df27647e53764c6dd437422ed48885e798a6e4fc6b5900810c7855c9ceeb SHA512 bfd3b9d5221a89a120e115447a9aa653e93a208422c68c8cc74a672f42037fd1af3dc755480d746570f2c5dbeb173650d9b4acfb38aaec5d3c3feea6c2232af1 +DIST tbb-2017.20170226.tar.gz 2856407 BLAKE2B 10c9f1230a57e0cc778f4f7ad9395a7dc9044b7f203e704cfdc479632e2aaf35f05caa168d9caea490abc6d96ec7d77ea6e7effbc9d5b589a6e41e3374b8b9cb SHA512 d07eeca53138432a4ac20145169907f5271e234bedfb53e0eabbed2b6fafaecdc0a2ad7bdbead205993f822e7c415233cce9afd7575d366c17a117d5cc971a65 +DIST tbb-2018.20180312.tar.gz 2911740 BLAKE2B 5c6dab4a892f3b61ed0b02ea36dc41bebd5b33a22bcc3d5f2960f21e134f2eb9bccf1466193a573489e12638c0bb0bccc2da83f699968ffd62417f2d0f093289 SHA512 7ac74e714122e25f7704630d3d52992dbea54d1e761b5e487251a771f401aa864f78b8ddf11d78f38758088df387abb6987f6a2db562c86cbb28ba8f33a25680 +DIST tbb2017_20161128oss_src.tgz 2965854 BLAKE2B 8c5aed6d8477297922767803617346feebb712d1f4b2df6d71a86f039b5563afc666454985e68a528a812aaad40b5fd0562bb91d357c45156fec46e5389ec542 SHA512 3c48ce196d2d3557e86cea7ede9dea456bbaeb29dbed34210f99c6f380406403a6056ccfa3d5befe6b29c4f8a9ee58ca6da545249cf4ec4ec85b463e04e4518c +DIST tbb43_20150611oss_src.tgz 2757631 BLAKE2B d1a00b531b747aeae05d052ac2d894b4d5dbee628988794ac9721058e5b3cd7efb60877ff1183d155d75bc2a0b413863911c438da9db1c30ec8e74e2de442118 SHA512 83d5d827706b774ef5cd6df8082e5d7f48683388684423bb40565dfc25892fc2e57c382f719b78087d83e51edb3f7f7215f33d8b5039b55c32788d80efa6e0b8 +DIST tbb44_20160803oss_src.tgz 2874050 BLAKE2B 097e4e4fb2c14b6ab073409b26c7d5044cd7f2edb56efb0b307b1e07b4496a668d34eec88086d2f8e68eb050df9e2b48af81b5e47c860b15786e0c48df736d9c SHA512 01b1dcdaffa96c3d503e44d7b236b1115f419c122dab0f40de4c9dc90db315a1f3755cc91adf9df91d5d31d8927df115230db94cf175edac09ae438b46374a92 +EBUILD tbb-2017.20161128.ebuild 3328 BLAKE2B cc38ef0529be30d5440fbda313f7e49f396608b63315a055366d9c3d6842139c2e6c777a5e64994f9f40993fa23f34b205d9532ba6674ed6a241241705b105b3 SHA512 cccd1c62e5c93b31d892b3620155aaf4ac5c923082042d15b38069581bbce6b0b5ec979392ed831a40b57d92e0bfa2f7ab28f4e789d59a1a063f0cc10e118a92 +EBUILD tbb-2017.20170226.ebuild 3332 BLAKE2B f3c62d147d908374c7e7246fc555dca88e1d4937ed499080e57dac42bb324b5cf7bd0e3359b9185c3b0ac5d3c6f9f69f98596a0e420cd68fef3b9fb641af8429 SHA512 0491a899acb9072cc99056f38160acd52ac7b97e3c0020ab2fd2cb452c8220a1e82ffae53338123a9b41c60b453f948cc7d1bbf9da82e1ea6456f7f8130f0aa7 +EBUILD tbb-2018.20180312.ebuild 3332 BLAKE2B e1e0aecf3dc7a29526aca88b0c9439509345a68e30c940dd74ddc9f3ada36fa2d773fd4f9a949491998f22c4ff2f7c52f928e7d8c705d4a93d204574c2c747d1 SHA512 747637d528e3bbec621e74db8e3929300036c43c7c651aa3519c322b7a3f89c769494ede73ee37358cc07053ecea3bd40edb881d0b680aabcf729e2d40618e95 +EBUILD tbb-4.3.20150611.ebuild 3142 BLAKE2B 638aad3506c71cd234972b5e1eb49a28e9240cdf63a7bac7f1131c84ab8188c95dbe24aa57df36d5dcb365817baf72a7b5092eb51610d055f1ea1eef8573cdfe SHA512 e78b598c1560212db0bb4f5c4c2962f1e42efcad30f1c90af05327c3d6dfd53781c8efd2237bf3012349a9d550d3f28399bbb548d341d6dd8a9a2b9f670c2c1c +EBUILD tbb-4.4.20160803.ebuild 3387 BLAKE2B 9aee29c353a7ec9fb9f6efcfd8d6ccef198951fdbbbca0cebee98ebdbe294c0e6f23ad96f30dc0c32752e3f89c663a0623e76bf2d801f0cd10913b538db3750f SHA512 285dcbb0314d35e906f8085ea8b4407a51da0980236f495f98037e32633cc0d4dd736b6e3380fff1c00551ecb6fa0557473a7f94e7cb4a690a8fc8336cd670d9 +MISC metadata.xml 687 BLAKE2B c094e0e1a7f9939540292663dceefcacf0468b91563cf051ce487edbdf27b7c07392102fedf6df18aa2852465eb1e6b6f72bbe93c0ca1669c1fba2bbc5840c48 SHA512 bfdebc9e52c9c46424854b519e8ff60f7b473e33189235a50e1110af1f8264c2ad2b4f71110be1147387491fc078ec6c9e451347b47f69d0f2b15e60ad2e9a0b diff --git a/dev-cpp/tbb/files/tbb-2017.20161128-build.patch b/dev-cpp/tbb/files/tbb-2017.20161128-build.patch new file mode 100644 index 000000000000..e952bfbc434e --- /dev/null +++ b/dev-cpp/tbb/files/tbb-2017.20161128-build.patch @@ -0,0 +1,187 @@ +--- a/build/FreeBSD.gcc.inc ++++ b/build/FreeBSD.gcc.inc +@@ -28,8 +28,8 @@ WARNING_KEY = -Wall + DYLIB_KEY = -shared + WARNING_SUPPRESS = -Wno-parentheses + +-CPLUS = g++ +-CONLY = gcc ++CPLUS = $(CXX) ++CONLY = $(CC) + LIB_LINK_FLAGS = -shared + LIBS = -lpthread + C_FLAGS = $(CPLUS_FLAGS) +@@ -42,7 +42,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) + endif + + ifeq ($(cfg), release) +- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD +@@ -59,22 +59,12 @@ ifeq (ia64,$(arch)) + 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 ++ 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 +--- a/build/linux.clang.inc ++++ b/build/linux.clang.inc +@@ -31,15 +31,15 @@ DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl + +-CPLUS = clang++ +-CONLY = clang ++CPLUS := $(CXX) ++CONLY := $(CC) + LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) + LIBS += -lpthread -lrt + LINK_FLAGS = -Wl,-rpath-link=. -rdynamic + C_FLAGS = $(CPLUS_FLAGS) + + ifeq ($(cfg), release) +- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD +@@ -60,24 +60,10 @@ MALLOC_ASM.OBJ= + + ifeq (intel64,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m64 +- LIB_LINK_FLAGS += -m64 + endif + + ifeq (ia32,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m32 -march=pentium4 +- LIB_LINK_FLAGS += -m32 +-endif +- +-ifeq (ppc64,$(arch)) +- CPLUS_FLAGS += -m64 +- LIB_LINK_FLAGS += -m64 +-endif +- +-ifeq (ppc32,$(arch)) +- CPLUS_FLAGS += -m32 +- LIB_LINK_FLAGS += -m32 + endif + + ifeq (bg,$(arch)) +@@ -89,12 +75,6 @@ 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 +--- a/build/linux.gcc.inc ++++ b/build/linux.gcc.inc +@@ -32,12 +32,12 @@ DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl + +-CPLUS = g++ +-CONLY = gcc ++CPLUS := $(CXX) ++CONLY := $(CC) + LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) + LIBS += -lpthread -lrt + LINK_FLAGS = -Wl,-rpath-link=. -rdynamic +-C_FLAGS = $(CPLUS_FLAGS) ++C_FLAGS := $(CPLUS_FLAGS) + + # gcc 4.2 and higher support OpenMP + ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])")) +@@ -68,7 +68,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) + endif + + ifeq ($(cfg), release) +- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD +@@ -84,24 +84,12 @@ endif + + ifeq (intel64,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m64 $(RTM_KEY) +- LIB_LINK_FLAGS += -m64 ++ CPLUS_FLAGS += $(RTM_KEY) + endif + + ifeq (ia32,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY) +- 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 ++ CPLUS_FLAGS += $(RTM_KEY) + endif + + ifeq (bg,$(arch)) +@@ -109,12 +97,6 @@ ifeq (bg,$(arch)) + CONLY = $(firstword $(notdir $(shell which powerpc{64,32,}-bg{z..a}-linux-gcc 2>/dev/null))) + 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 +- + # automatically generate "IT" instructions when compiling for Thumb ISA + ifeq (armv7,$(arch)) + CPLUS_FLAGS += -Wa,-mimplicit-it=thumb +@@ -123,13 +105,7 @@ endif + #------------------------------------------------------------------------------ + # Setting assembler data. + #------------------------------------------------------------------------------ +-ASM = as +-ifeq (intel64,$(arch)) +- ASM_FLAGS += --64 +-endif +-ifeq (ia32,$(arch)) +- ASM_FLAGS += --32 +-endif ++ASM := $(AS) + ifeq ($(cfg),debug) + ASM_FLAGS += -g + endif diff --git a/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch b/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch new file mode 100644 index 000000000000..ed318cab8386 --- /dev/null +++ b/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch @@ -0,0 +1,20 @@ +From: Julian Ospald <hasufell@gentoo.org> +Date: Thu May 31 21:37:47 UTC 2012 +Subject: build system + +fix underlinking in test phase +wrt https://bugs.gentoo.org/show_bug.cgi?id=418447 + +--- a/build/Makefile.test ++++ b/build/Makefile.test +@@ -48,8 +48,8 @@ + USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_PROXY + CPLUS_FLAGS += $(USE_PROXY_FLAG) + LINK_TBB.LIB = $(PROXY.LIB) +- LIBS += $(LIBDL) +-endif ++endif ++LIBS += $(LIBDL) + + include $(tbb_root)/build/common_rules.inc + diff --git a/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch b/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch new file mode 100644 index 000000000000..8f806989e443 --- /dev/null +++ b/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch @@ -0,0 +1,185 @@ +--- a/build/FreeBSD.gcc.inc ++++ b/build/FreeBSD.gcc.inc +@@ -28,14 +28,14 @@ WARNING_KEY = -Wall + DYLIB_KEY = -shared + WARNING_SUPPRESS = -Wno-parentheses + +-CPLUS = g++ +-CONLY = gcc ++CPLUS = $(CXX) ++CONLY = $(CC) + LIB_LINK_FLAGS = -shared + LIBS = -lpthread + C_FLAGS = $(CPLUS_FLAGS) + + ifeq ($(cfg), release) +- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD +@@ -52,22 +52,12 @@ ifeq (ia64,$(arch)) + 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 ++ 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 +--- a/build/linux.clang.inc ++++ b/build/linux.clang.inc +@@ -31,15 +31,15 @@ DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl + +-CPLUS = clang++ +-CONLY = clang ++CPLUS := $(CXX) ++CONLY := $(CC) + LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) + LIBS += -lpthread -lrt + LINK_FLAGS = -Wl,-rpath-link=. -rdynamic + C_FLAGS = $(CPLUS_FLAGS) + + ifeq ($(cfg), release) +- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD +@@ -61,24 +61,10 @@ MALLOC_ASM.OBJ= + + ifeq (intel64,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m64 +- LIB_LINK_FLAGS += -m64 + endif + + ifeq (ia32,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m32 -march=pentium4 +- LIB_LINK_FLAGS += -m32 +-endif +- +-ifeq (ppc64,$(arch)) +- CPLUS_FLAGS += -m64 +- LIB_LINK_FLAGS += -m64 +-endif +- +-ifeq (ppc32,$(arch)) +- CPLUS_FLAGS += -m32 +- LIB_LINK_FLAGS += -m32 + endif + + ifeq (bg,$(arch)) +@@ -90,12 +76,6 @@ 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 +--- a/build/linux.gcc.inc ++++ b/build/linux.gcc.inc +@@ -32,12 +32,12 @@ DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl + +-CPLUS = g++ +-CONLY = gcc ++CPLUS := $(CXX) ++CONLY := $(CC) + LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) + LIBS += -lpthread -lrt + LINK_FLAGS = -Wl,-rpath-link=. -rdynamic +-C_FLAGS = $(CPLUS_FLAGS) ++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 +@@ -54,7 +54,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^4\.[8-9]")) + endif + + ifeq ($(cfg), release) +- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD +@@ -74,24 +74,12 @@ endif + + ifeq (intel64,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m64 $(RTM_KEY) +- LIB_LINK_FLAGS += -m64 ++ CPLUS_FLAGS += $(RTM_KEY) + endif + + ifeq (ia32,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY) +- 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 ++ CPLUS_FLAGS += $(RTM_KEY) + endif + + ifeq (bg,$(arch)) +@@ -99,12 +87,6 @@ ifeq (bg,$(arch)) + CONLY = $(firstword $(notdir $(shell which powerpc{64,32,}-bg{z..a}-linux-gcc 2>/dev/null))) + 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 +- + # automatically generate "IT" instructions when compiling for Thumb ISA + ifeq (armv7,$(arch)) + CPLUS_FLAGS += -Wa,-mimplicit-it=thumb +@@ -113,13 +95,7 @@ endif + #------------------------------------------------------------------------------ + # Setting assembler data. + #------------------------------------------------------------------------------ +-ASM = as +-ifeq (intel64,$(arch)) +- ASM_FLAGS += --64 +-endif +-ifeq (ia32,$(arch)) +- ASM_FLAGS += --32 +-endif ++ASM := $(AS) + ifeq ($(cfg),debug) + ASM_FLAGS += -g + endif diff --git a/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch b/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch new file mode 100644 index 000000000000..f4af5de9e50d --- /dev/null +++ b/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch @@ -0,0 +1,187 @@ +--- a/build/FreeBSD.gcc.inc ++++ b/build/FreeBSD.gcc.inc +@@ -28,8 +28,8 @@ WARNING_KEY = -Wall + DYLIB_KEY = -shared + WARNING_SUPPRESS = -Wno-parentheses + +-CPLUS = g++ +-CONLY = gcc ++CPLUS = $(CXX) ++CONLY = $(CC) + LIB_LINK_FLAGS = -shared + LIBS = -lpthread + C_FLAGS = $(CPLUS_FLAGS) +@@ -42,7 +42,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) + endif + + ifeq ($(cfg), release) +- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD +@@ -59,22 +59,12 @@ ifeq (ia64,$(arch)) + 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 ++ 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 +--- a/build/linux.clang.inc ++++ b/build/linux.clang.inc +@@ -31,15 +31,15 @@ DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl + +-CPLUS = clang++ +-CONLY = clang ++CPLUS := $(CXX) ++CONLY := $(CC) + LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) + LIBS += -lpthread -lrt + LINK_FLAGS = -Wl,-rpath-link=. -rdynamic + C_FLAGS = $(CPLUS_FLAGS) + + ifeq ($(cfg), release) +- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD +@@ -55,24 +55,10 @@ MALLOC_ASM.OBJ= + + ifeq (intel64,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m64 +- LIB_LINK_FLAGS += -m64 + endif + + ifeq (ia32,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m32 -march=pentium4 +- LIB_LINK_FLAGS += -m32 +-endif +- +-ifeq (ppc64,$(arch)) +- CPLUS_FLAGS += -m64 +- LIB_LINK_FLAGS += -m64 +-endif +- +-ifeq (ppc32,$(arch)) +- CPLUS_FLAGS += -m32 +- LIB_LINK_FLAGS += -m32 + endif + + ifeq (bg,$(arch)) +@@ -84,12 +70,6 @@ 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 +--- a/build/linux.gcc.inc ++++ b/build/linux.gcc.inc +@@ -32,12 +32,12 @@ DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl + +-CPLUS = g++ +-CONLY = gcc ++CPLUS := $(CXX) ++CONLY := $(CC) + LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) + LIBS += -lpthread -lrt + LINK_FLAGS = -Wl,-rpath-link=. -rdynamic +-C_FLAGS = $(CPLUS_FLAGS) ++C_FLAGS := $(CPLUS_FLAGS) + + # gcc 4.2 and higher support OpenMP + ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])")) +@@ -57,7 +57,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) + endif + + ifeq ($(cfg), release) +- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD ++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD + endif + ifeq ($(cfg), debug) + CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD +@@ -73,24 +73,12 @@ endif + + ifeq (intel64,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m64 $(RTM_KEY) +- LIB_LINK_FLAGS += -m64 ++ CPLUS_FLAGS += $(RTM_KEY) + endif + + ifeq (ia32,$(arch)) + ITT_NOTIFY = -DDO_ITT_NOTIFY +- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY) +- 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 ++ CPLUS_FLAGS += $(RTM_KEY) + endif + + ifeq (bg,$(arch)) +@@ -98,12 +86,6 @@ ifeq (bg,$(arch)) + CONLY = $(firstword $(notdir $(shell which powerpc{64,32,}-bg{z..a}-linux-gcc 2>/dev/null))) + 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 +- + # automatically generate "IT" instructions when compiling for Thumb ISA + ifeq (armv7,$(arch)) + CPLUS_FLAGS += -Wa,-mimplicit-it=thumb +@@ -112,13 +94,7 @@ endif + #------------------------------------------------------------------------------ + # Setting assembler data. + #------------------------------------------------------------------------------ +-ASM = as +-ifeq (intel64,$(arch)) +- ASM_FLAGS += --64 +-endif +-ifeq (ia32,$(arch)) +- ASM_FLAGS += --32 +-endif ++ASM := $(AS) + ifeq ($(cfg),debug) + ASM_FLAGS += -g + endif diff --git a/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch b/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch new file mode 100644 index 000000000000..5935017a325e --- /dev/null +++ b/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch @@ -0,0 +1,15 @@ +https://bugs.gentoo.org/show_bug.cgi?id=418447 + +--- a/build/Makefile.test ++++ b/build/Makefile.test +@@ -44,8 +44,8 @@ + USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_PROXY + CPLUS_FLAGS += $(USE_PROXY_FLAG) + LINK_TBB.LIB = $(PROXY.LIB) +- LIBS += $(LIBDL) +-endif ++endif ++LIBS += $(LIBDL) + + TEST_SUFFIXES=secondary compiler_builtins pic + include $(tbb_root)/build/common_rules.inc diff --git a/dev-cpp/tbb/metadata.xml b/dev-cpp/tbb/metadata.xml new file mode 100644 index 000000000000..1d44ed7098fc --- /dev/null +++ b/dev-cpp/tbb/metadata.xml @@ -0,0 +1,18 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> + The Intel Threading Building Blocks is a library that helps you + leverage multi-core processor performance without having to be a + threading expert. It represents a higher-level, task-based + parallelism that abstracts platform details and threading mechanism + for performance and scalability. + </longdescription> + <upstream> + <remote-id type="github">01org/tbb</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/tbb/tbb-2017.20161128.ebuild b/dev-cpp/tbb/tbb-2017.20161128.ebuild new file mode 100644 index 000000000000..466e1e756f78 --- /dev/null +++ b/dev-cpp/tbb/tbb-2017.20161128.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator + +PV1="$(get_version_component_range 1)" +PV2="$(get_version_component_range 2)" +MYP="${PN}${PV1}_${PV2}oss" + +DESCRIPTION="High level abstract threading library" +HOMEPAGE="https://www.threadingbuildingblocks.org" +SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz" +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux" +IUSE="debug doc examples" + +DEPEND="" +RDEPEND="${DEPEND}" +S="${WORKDIR}/${MYP}" + +PATCHES=( + "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch + "${FILESDIR}"/${PN}-2017.20161128-build.patch +) + +src_prepare() { + default + + find include -name \*.html -delete || die + + # Give it a soname on FreeBSD + echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc + # Set proper versionning on FreeBSD + sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die + + use debug || sed -i -e '/_debug/d' Makefile +} + +multilib_src_configure() { + # pc files are for debian and fedora compatibility + # some deps use them + cat <<-EOF > ${PN}.pc.template + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Cflags: -I\${includedir} + EOF + cp ${PN}.pc.template ${PN}.pc || die + cat <<-EOF >> ${PN}.pc + Libs: -L\${libdir} -ltbb + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc.pc || die + cat <<-EOF >> ${PN}malloc.pc + Libs: -L\${libdir} -ltbbmalloc + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc_proxy.pc || die + cat <<-EOF >> ${PN}malloc_proxy.pc + Libs: -L\${libdir} -ltbbmalloc_proxy + Libs.private: -lrt + Requires: tbbmalloc + EOF +} + +local_src_compile() { + cd "${S}" + + local comp arch + + case ${MULTILIB_ABI_FLAG} in + abi_x86_64) arch=x86_64 ;; + abi_x86_32) arch=ia32 ;; + abi_ppc_64) arch=ppc64 ;; + abi_ppc_32) arch=ppc32 ;; + esac + + case "$(tc-getCXX)" in + *g++*) comp="gcc" ;; + *ic*c) comp="icc" ;; + *clang*) comp="clang" ;; + *) die "compiler $(tc-getCXX) not supported by build system" ;; + esac + + CXX="$(tc-getCXX)" \ + CC="$(tc-getCC)" \ + AS="$(tc-getAS)" \ + arch=${arch} \ + CPLUS_FLAGS="${CXXFLAGS}" \ + emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@ +} + +multilib_src_compile() { + local_src_compile tbb tbbmalloc +} + +multilib_src_test() { + CXXFLAGS="${CXXFLAGS} -fabi-version=4" \ + local_src_compile -j1 test +} + +multilib_src_install() { + local bt + local buildtypes + if use debug ; then + buildtypes="release debug" + else + buildtypes="release" + fi + for bt in ${buildtypes}; do + cd "${BUILD_DIR}_${bt}" || die + local l + for l in $(find . -name lib\*.so.\*); do + dolib.so ${l} + local bl=$(basename ${l}) + dosym ${bl} /usr/$(get_libdir)/${bl%.*} + done + done + + cd "${BUILD_DIR}" || die + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc +} + +multilib_src_install_all() { + doheader -r include/* + + 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 +} diff --git a/dev-cpp/tbb/tbb-2017.20170226.ebuild b/dev-cpp/tbb/tbb-2017.20170226.ebuild new file mode 100644 index 000000000000..a265095c4bb0 --- /dev/null +++ b/dev-cpp/tbb/tbb-2017.20170226.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic multilib-minimal multilib toolchain-funcs versionator + +PV1="$(get_version_component_range 1)" +PV2=5 +MY_PV="${PV1}_U${PV2}" + +DESCRIPTION="High level abstract threading library" +HOMEPAGE="https://www.threadingbuildingblocks.org" +SRC_URI="https://github.com/01org/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" +IUSE="debug doc examples" + +DEPEND="" +RDEPEND="${DEPEND}" +S="${WORKDIR}/${PN}-${MY_PV}" + +PATCHES=( + "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch + "${FILESDIR}"/${PN}-2017.20161128-build.patch +) + +src_prepare() { + default + + find include -name \*.html -delete || die + + # Give it a soname on FreeBSD + echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc + # Set proper versionning on FreeBSD + sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die + + use debug || sed -i -e '/_debug/d' Makefile +} + +multilib_src_configure() { + # pc files are for debian and fedora compatibility + # some deps use them + cat <<-EOF > ${PN}.pc.template + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Cflags: -I\${includedir} + EOF + cp ${PN}.pc.template ${PN}.pc || die + cat <<-EOF >> ${PN}.pc + Libs: -L\${libdir} -ltbb + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc.pc || die + cat <<-EOF >> ${PN}malloc.pc + Libs: -L\${libdir} -ltbbmalloc + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc_proxy.pc || die + cat <<-EOF >> ${PN}malloc_proxy.pc + Libs: -L\${libdir} -ltbbmalloc_proxy + Libs.private: -lrt + Requires: tbbmalloc + EOF +} + +local_src_compile() { + cd "${S}" + + local comp arch + + case ${MULTILIB_ABI_FLAG} in + abi_x86_64) arch=x86_64 ;; + abi_x86_32) arch=ia32 ;; + abi_ppc_64) arch=ppc64 ;; + abi_ppc_32) arch=ppc32 ;; + esac + + case "$(tc-getCXX)" in + *g++*) comp="gcc" ;; + *ic*c) comp="icc" ;; + *clang*) comp="clang" ;; + *) die "compiler $(tc-getCXX) not supported by build system" ;; + esac + + CXX="$(tc-getCXX)" \ + CC="$(tc-getCC)" \ + AS="$(tc-getAS)" \ + arch=${arch} \ + CPLUS_FLAGS="${CXXFLAGS}" \ + emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@ +} + +multilib_src_compile() { + local_src_compile tbb tbbmalloc +} + +multilib_src_test() { + CXXFLAGS="${CXXFLAGS} -fabi-version=4" \ + local_src_compile -j1 test +} + +multilib_src_install() { + local bt + local buildtypes + if use debug ; then + buildtypes="release debug" + else + buildtypes="release" + fi + for bt in ${buildtypes}; do + cd "${BUILD_DIR}_${bt}" || die + local l + for l in $(find . -name lib\*$(get_libname \*)); do + dolib.so ${l} + local bl=$(basename ${l}) + dosym ${bl} /usr/$(get_libdir)/${bl%%.*}$(get_libname) + done + done + + cd "${BUILD_DIR}" || die + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc +} + +multilib_src_install_all() { + doheader -r include/* + + 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 +} diff --git a/dev-cpp/tbb/tbb-2018.20180312.ebuild b/dev-cpp/tbb/tbb-2018.20180312.ebuild new file mode 100644 index 000000000000..7879da6125e4 --- /dev/null +++ b/dev-cpp/tbb/tbb-2018.20180312.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic multilib-minimal multilib toolchain-funcs versionator + +PV1="$(get_version_component_range 1)" +PV2=3 +MY_PV="${PV1}_U${PV2}" + +DESCRIPTION="High level abstract threading library" +HOMEPAGE="https://www.threadingbuildingblocks.org" +SRC_URI="https://github.com/01org/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" +IUSE="debug doc examples" + +DEPEND="" +RDEPEND="${DEPEND}" +S="${WORKDIR}/${PN}-${MY_PV}" + +PATCHES=( + "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch + "${FILESDIR}"/${PN}-2017.20161128-build.patch +) + +src_prepare() { + default + + find include -name \*.html -delete || die + + # Give it a soname on FreeBSD + echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc + # Set proper versionning on FreeBSD + sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die + + use debug || sed -i -e '/_debug/d' Makefile +} + +multilib_src_configure() { + # pc files are for debian and fedora compatibility + # some deps use them + cat <<-EOF > ${PN}.pc.template + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Cflags: -I\${includedir} + EOF + cp ${PN}.pc.template ${PN}.pc || die + cat <<-EOF >> ${PN}.pc + Libs: -L\${libdir} -ltbb + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc.pc || die + cat <<-EOF >> ${PN}malloc.pc + Libs: -L\${libdir} -ltbbmalloc + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc_proxy.pc || die + cat <<-EOF >> ${PN}malloc_proxy.pc + Libs: -L\${libdir} -ltbbmalloc_proxy + Libs.private: -lrt + Requires: tbbmalloc + EOF +} + +local_src_compile() { + cd "${S}" + + local comp arch + + case ${MULTILIB_ABI_FLAG} in + abi_x86_64) arch=x86_64 ;; + abi_x86_32) arch=ia32 ;; + abi_ppc_64) arch=ppc64 ;; + abi_ppc_32) arch=ppc32 ;; + esac + + case "$(tc-getCXX)" in + *g++*) comp="gcc" ;; + *ic*c) comp="icc" ;; + *clang*) comp="clang" ;; + *) die "compiler $(tc-getCXX) not supported by build system" ;; + esac + + CXX="$(tc-getCXX)" \ + CC="$(tc-getCC)" \ + AS="$(tc-getAS)" \ + arch=${arch} \ + CPLUS_FLAGS="${CXXFLAGS}" \ + emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@ +} + +multilib_src_compile() { + local_src_compile tbb tbbmalloc +} + +multilib_src_test() { + CXXFLAGS="${CXXFLAGS} -fabi-version=4" \ + local_src_compile -j1 test +} + +multilib_src_install() { + local bt + local buildtypes + if use debug ; then + buildtypes="release debug" + else + buildtypes="release" + fi + for bt in ${buildtypes}; do + cd "${BUILD_DIR}_${bt}" || die + local l + for l in $(find . -name lib\*$(get_libname \*)); do + dolib.so ${l} + local bl=$(basename ${l}) + dosym ${bl} /usr/$(get_libdir)/${bl%%.*}$(get_libname) + done + done + + cd "${BUILD_DIR}" || die + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc +} + +multilib_src_install_all() { + doheader -r include/* + + 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 +} diff --git a/dev-cpp/tbb/tbb-4.3.20150611.ebuild b/dev-cpp/tbb/tbb-4.3.20150611.ebuild new file mode 100644 index 000000000000..d5efb48803d2 --- /dev/null +++ b/dev-cpp/tbb/tbb-4.3.20150611.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator + +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="https://www.threadingbuildingblocks.org" +SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz" +LICENSE="GPL-2-with-exceptions" +SLOT="0" +KEYWORDS="amd64 ~arm ~hppa ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux" +IUSE="debug doc examples" + +DEPEND="" +RDEPEND="${DEPEND}" +S="${WORKDIR}/${MYP}" + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-4.0.297-underlinking.patch \ + "${FILESDIR}"/${P}-build.patch + + find include -name \*.html -delete || die + + # Give it a soname on FreeBSD + echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc + # Set proper versionning on FreeBSD + sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die + + use debug || sed -i -e '/_debug/d' Makefile +} + +multilib_src_configure() { + # pc files are for debian and fedora compatibility + # some deps use them + cat <<-EOF > ${PN}.pc.template + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Cflags: -I\${includedir} + EOF + cp ${PN}.pc.template ${PN}.pc || die + cat <<-EOF >> ${PN}.pc + Libs: -L\${libdir} -ltbb + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc.pc || die + cat <<-EOF >> ${PN}malloc.pc + Libs: -L\${libdir} -ltbbmalloc + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc_proxy.pc || die + cat <<-EOF >> ${PN}malloc_proxy.pc + Libs: -L\${libdir} -ltbbmalloc_proxy + Libs.private: -lrt + Requires: tbbmalloc + EOF +} + +local_src_compile() { + cd "${S}" + + local comp arch + + case ${MULTILIB_ABI_FLAG} in + abi_x86_64) arch=x86_64 ;; + abi_x86_32) arch=ia32 ;; + esac + + case "$(tc-getCXX)" in + *g++*) comp="gcc" ;; + *ic*c) comp="icc" ;; + *clang*) comp="clang" ;; + *) die "compiler $(tc-getCXX) not supported by build system" ;; + esac + + CXX="$(tc-getCXX)" \ + CC="$(tc-getCC)" \ + AS="$(tc-getAS)" \ + arch=${arch} \ + CPLUS_FLAGS="${CXXFLAGS}" \ + emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@ +} + +multilib_src_compile() { + local_src_compile tbb tbbmalloc +} + +multilib_src_test() { + CXXFLAGS="${CXXFLAGS} -fabi-version=4" \ + local_src_compile -j1 test +} + +multilib_src_install() { + cd "${BUILD_DIR}_release" || die + local l + for l in $(find . -name lib\*.so.\*); do + dolib.so ${l} + local bl=$(basename ${l}) + dosym ${bl} /usr/$(get_libdir)/${bl%.*} + done + + cd "${BUILD_DIR}" || die + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc +} + +multilib_src_install_all() { + doheader -r include/* + + 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 +} diff --git a/dev-cpp/tbb/tbb-4.4.20160803.ebuild b/dev-cpp/tbb/tbb-4.4.20160803.ebuild new file mode 100644 index 000000000000..f6cd3e24a601 --- /dev/null +++ b/dev-cpp/tbb/tbb-4.4.20160803.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator + +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="https://www.threadingbuildingblocks.org" +SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz" +LICENSE="GPL-2-with-exceptions" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" +IUSE="debug doc examples" + +DEPEND="" +RDEPEND="${DEPEND}" +S="${WORKDIR}/${MYP}" + +PATCHES=( + "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch + "${FILESDIR}"/${PN}-4.4.20160803-build.patch +) + +src_prepare() { + default + + find include -name \*.html -delete || die + + # Give it a soname on FreeBSD + echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc + # Set proper versionning on FreeBSD + sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die + + use debug || sed -i -e '/_debug/d' Makefile +} + +multilib_src_configure() { + # pc files are for debian and fedora compatibility + # some deps use them + cat <<-EOF > ${PN}.pc.template + prefix=${EPREFIX}/usr + libdir=\${prefix}/$(get_libdir) + includedir=\${prefix}/include + Name: ${PN} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Cflags: -I\${includedir} + EOF + cp ${PN}.pc.template ${PN}.pc || die + cat <<-EOF >> ${PN}.pc + Libs: -L\${libdir} -ltbb + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc.pc || die + cat <<-EOF >> ${PN}malloc.pc + Libs: -L\${libdir} -ltbbmalloc + Libs.private: -lm -lrt + EOF + cp ${PN}.pc.template ${PN}malloc_proxy.pc || die + cat <<-EOF >> ${PN}malloc_proxy.pc + Libs: -L\${libdir} -ltbbmalloc_proxy + Libs.private: -lrt + Requires: tbbmalloc + EOF +} + +local_src_compile() { + cd "${S}" + + local comp arch + + case ${MULTILIB_ABI_FLAG} in + abi_x86_64) arch=x86_64 ;; + abi_x86_32) arch=ia32 ;; + abi_ppc_64) arch=ppc64 ;; + abi_ppc_32) arch=ppc32 ;; + esac + + case "$(tc-getCXX)" in + *g++*) comp="gcc" ;; + *ic*c) comp="icc" ;; + *clang*) comp="clang" ;; + *) die "compiler $(tc-getCXX) not supported by build system" ;; + esac + + CXX="$(tc-getCXX)" \ + CC="$(tc-getCC)" \ + AS="$(tc-getAS)" \ + arch=${arch} \ + CPLUS_FLAGS="${CXXFLAGS}" \ + emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@ +} + +multilib_src_compile() { + local_src_compile tbb tbbmalloc +} + +multilib_src_test() { + CXXFLAGS="${CXXFLAGS} -fabi-version=4" \ + local_src_compile -j1 test +} + +multilib_src_install() { + local bt + local buildtypes + if use debug ; then + buildtypes="release debug" + else + buildtypes="release" + fi + for bt in ${buildtypes}; do + cd "${BUILD_DIR}_${bt}" || die + local l + for l in $(find . -name lib\*.so.\*); do + dolib.so ${l} + local bl=$(basename ${l}) + dosym ${bl} /usr/$(get_libdir)/${bl%.*} + done + done + + cd "${BUILD_DIR}" || die + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc +} + +multilib_src_install_all() { + doheader -r include/* + + 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 +} |