pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Import threadingbuildingblocks-2017.20160916 as wip/threadingbuildingblocks.
Module Name: pkgsrc-wip
Committed By: Kamil Rytarowski <n54%gmx.com@localhost>
Pushed By: kamil
Date: Thu Oct 20 04:08:26 2016 +0200
Changeset: d6f22b1495b02e779a51498207922f773f401d16
Added Files:
threadingbuildingblocks/DESCR
threadingbuildingblocks/Makefile
threadingbuildingblocks/PLIST
threadingbuildingblocks/buildlink3.mk
threadingbuildingblocks/distinfo
threadingbuildingblocks/patches/patch-build_common.inc
threadingbuildingblocks/patches/patch-build_netbsd.gcc.inc
threadingbuildingblocks/patches/patch-build_netbsd.inc
threadingbuildingblocks/patches/patch-build_version__info__netbsd.sh
Log Message:
Import threadingbuildingblocks-2017.20160916 as wip/threadingbuildingblocks.
Threading Building Blocks (TBB) lets you easily write parallel C++ programs
that take full advantage of multicore performance, that are portable and
composable, and that have future-proof scalability.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=d6f22b1495b02e779a51498207922f773f401d16
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
threadingbuildingblocks/DESCR | 3 +
threadingbuildingblocks/Makefile | 49 +++++++++
threadingbuildingblocks/PLIST | 111 +++++++++++++++++++
threadingbuildingblocks/buildlink3.mk | 12 +++
threadingbuildingblocks/distinfo | 10 ++
.../patches/patch-build_common.inc | 14 +++
.../patches/patch-build_netbsd.gcc.inc | 94 +++++++++++++++++
.../patches/patch-build_netbsd.inc | 117 +++++++++++++++++++++
.../patches/patch-build_version__info__netbsd.sh | 37 +++++++
9 files changed, 447 insertions(+)
diffs:
diff --git a/threadingbuildingblocks/DESCR b/threadingbuildingblocks/DESCR
new file mode 100644
index 0000000..6bf16cc
--- /dev/null
+++ b/threadingbuildingblocks/DESCR
@@ -0,0 +1,3 @@
+Threading Building Blocks (TBB) lets you easily write parallel C++ programs
+that take full advantage of multicore performance, that are portable and
+composable, and that have future-proof scalability.
diff --git a/threadingbuildingblocks/Makefile b/threadingbuildingblocks/Makefile
new file mode 100644
index 0000000..2173545
--- /dev/null
+++ b/threadingbuildingblocks/Makefile
@@ -0,0 +1,49 @@
+# $NetBSD$
+
+TBB_VERSION= 2017_20160916
+
+DISTNAME= tbb${TBB_VERSION}oss_src
+PKGNAME= threadingbuildingblocks-${TBB_VERSION:S/_/./}
+CATEGORIES= devel
+MASTER_SITES= https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/
+COMMENT= Intel Threading Building Block
+LICENSE= apache-2.0
+
+WRKSRC= ${WRKDIR}/tbb${TBB_VERSION}oss
+USE_LANGUAGES= c c++
+
+USE_TOOLS+= gmake pax bash
+
+GCC_REQD+= 5.3 # c++11
+
+BUILD_TARGET= # empty, all runs tests and it take a lot of time
+MAKE_FLAGS+= stdver=c++11
+
+INSTALLATION_DIRS+= include/tbb lib
+
+TEST_TARGET= test
+
+SUBST_CLASSES+= bash
+SUBST_STAGE.bash= pre-build
+SUBST_FILES.bash= build/FreeBSD.inc
+SUBST_FILES.bash+= build/AIX.inc
+SUBST_FILES.bash+= build/mic.offload.inc
+SUBST_FILES.bash+= build/SunOS.inc
+SUBST_FILES.bash+= build/macos.inc
+SUBST_FILES.bash+= build/linux.inc
+SUBST_FILES.bash+= build/netbsd.inc
+SUBST_MESSAGE.bash= Run bash script with bash.
+SUBST_SED.bash= -e "s|TEST_LAUNCHER=sh|TEST_LAUNCHER=${BASH}|1"
+
+do-install:
+.for file in libtbb.so.2 libtbbmalloc.so.2 libtbbmalloc_proxy.so.2
+ cd ${WRKSRC}/build/netbsd*release/ && \
+ ${INSTALL_LIB} ${file} ${DESTDIR}${PREFIX}/lib
+.endfor
+ cd ${WRKSRC}/include && ${PAX} -rw . ${DESTDIR}${PREFIX}/include
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/threadingbuildingblocks/PLIST b/threadingbuildingblocks/PLIST
new file mode 100644
index 0000000..aebc67a
--- /dev/null
+++ b/threadingbuildingblocks/PLIST
@@ -0,0 +1,111 @@
+@comment $NetBSD$
+include/index.html
+include/serial/tbb/parallel_for.h
+include/serial/tbb/tbb_annotate.h
+include/tbb/aggregator.h
+include/tbb/aligned_space.h
+include/tbb/atomic.h
+include/tbb/blocked_range.h
+include/tbb/blocked_range2d.h
+include/tbb/blocked_range3d.h
+include/tbb/cache_aligned_allocator.h
+include/tbb/combinable.h
+include/tbb/compat/condition_variable
+include/tbb/compat/ppl.h
+include/tbb/compat/thread
+include/tbb/compat/tuple
+include/tbb/concurrent_hash_map.h
+include/tbb/concurrent_lru_cache.h
+include/tbb/concurrent_priority_queue.h
+include/tbb/concurrent_queue.h
+include/tbb/concurrent_unordered_map.h
+include/tbb/concurrent_unordered_set.h
+include/tbb/concurrent_vector.h
+include/tbb/critical_section.h
+include/tbb/enumerable_thread_specific.h
+include/tbb/flow_graph.h
+include/tbb/flow_graph_abstractions.h
+include/tbb/flow_graph_opencl_node.h
+include/tbb/global_control.h
+include/tbb/index.html
+include/tbb/internal/_aggregator_impl.h
+include/tbb/internal/_concurrent_queue_impl.h
+include/tbb/internal/_concurrent_unordered_impl.h
+include/tbb/internal/_flow_graph_async_msg_impl.h
+include/tbb/internal/_flow_graph_impl.h
+include/tbb/internal/_flow_graph_indexer_impl.h
+include/tbb/internal/_flow_graph_item_buffer_impl.h
+include/tbb/internal/_flow_graph_join_impl.h
+include/tbb/internal/_flow_graph_node_impl.h
+include/tbb/internal/_flow_graph_streaming_node.h
+include/tbb/internal/_flow_graph_tagged_buffer_impl.h
+include/tbb/internal/_flow_graph_trace_impl.h
+include/tbb/internal/_flow_graph_types_impl.h
+include/tbb/internal/_mutex_padding.h
+include/tbb/internal/_range_iterator.h
+include/tbb/internal/_tbb_hash_compare_impl.h
+include/tbb/internal/_tbb_strings.h
+include/tbb/internal/_tbb_windef.h
+include/tbb/internal/_template_helpers.h
+include/tbb/internal/_x86_eliding_mutex_impl.h
+include/tbb/internal/_x86_rtm_rw_mutex_impl.h
+include/tbb/machine/gcc_armv7.h
+include/tbb/machine/gcc_generic.h
+include/tbb/machine/gcc_ia32_common.h
+include/tbb/machine/gcc_itsx.h
+include/tbb/machine/ibm_aix51.h
+include/tbb/machine/icc_generic.h
+include/tbb/machine/linux_common.h
+include/tbb/machine/linux_ia32.h
+include/tbb/machine/linux_ia64.h
+include/tbb/machine/linux_intel64.h
+include/tbb/machine/mac_ppc.h
+include/tbb/machine/macos_common.h
+include/tbb/machine/mic_common.h
+include/tbb/machine/msvc_armv7.h
+include/tbb/machine/msvc_ia32_common.h
+include/tbb/machine/sunos_sparc.h
+include/tbb/machine/windows_api.h
+include/tbb/machine/windows_ia32.h
+include/tbb/machine/windows_intel64.h
+include/tbb/machine/xbox360_ppc.h
+include/tbb/memory_pool.h
+include/tbb/mutex.h
+include/tbb/null_mutex.h
+include/tbb/null_rw_mutex.h
+include/tbb/parallel_do.h
+include/tbb/parallel_for.h
+include/tbb/parallel_for_each.h
+include/tbb/parallel_invoke.h
+include/tbb/parallel_reduce.h
+include/tbb/parallel_scan.h
+include/tbb/parallel_sort.h
+include/tbb/parallel_while.h
+include/tbb/partitioner.h
+include/tbb/pipeline.h
+include/tbb/queuing_mutex.h
+include/tbb/queuing_rw_mutex.h
+include/tbb/reader_writer_lock.h
+include/tbb/recursive_mutex.h
+include/tbb/runtime_loader.h
+include/tbb/scalable_allocator.h
+include/tbb/spin_mutex.h
+include/tbb/spin_rw_mutex.h
+include/tbb/task.h
+include/tbb/task_arena.h
+include/tbb/task_group.h
+include/tbb/task_scheduler_init.h
+include/tbb/task_scheduler_observer.h
+include/tbb/tbb.h
+include/tbb/tbb_allocator.h
+include/tbb/tbb_config.h
+include/tbb/tbb_exception.h
+include/tbb/tbb_machine.h
+include/tbb/tbb_profiling.h
+include/tbb/tbb_stddef.h
+include/tbb/tbb_thread.h
+include/tbb/tbbmalloc_proxy.h
+include/tbb/tick_count.h
+lib/libtbb.so.2
+lib/libtbbmalloc.so.2
+lib/libtbbmalloc_proxy.so.2
diff --git a/threadingbuildingblocks/buildlink3.mk b/threadingbuildingblocks/buildlink3.mk
new file mode 100644
index 0000000..8eea8ee
--- /dev/null
+++ b/threadingbuildingblocks/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD$
+
+BUILDLINK_TREE+= threadingbuildingblocks
+
+.if !defined(THREADINGBUILDINGBLOCKS_BUILDLINK3_MK)
+THREADINGBUILDINGBLOCKS_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.threadingbuildingblocks+= threadingbuildingblocks>=2017.20160916
+BUILDLINK_PKGSRCDIR.threadingbuildingblocks?= ../../wip/threadingbuildingblocks
+.endif # THREADINGBUILDINGBLOCKS_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -threadingbuildingblocks
diff --git a/threadingbuildingblocks/distinfo b/threadingbuildingblocks/distinfo
new file mode 100644
index 0000000..5f93f31
--- /dev/null
+++ b/threadingbuildingblocks/distinfo
@@ -0,0 +1,10 @@
+$NetBSD$
+
+SHA1 (tbb2017_20160916oss_src.tgz) = 7341672991af0675f22c1c3292fcc70d2e3cb837
+RMD160 (tbb2017_20160916oss_src.tgz) = 78b0e35215ad225fa2e9ca2595ddef1683355e4a
+SHA512 (tbb2017_20160916oss_src.tgz) = c2d2f36946f86d599a5d827008e0c6388ee17c51a60e08a15b809f0e2bb6b4137d485f6cc32f05cd7bbf0edbbf2c80bae185454f0bca9d00151df0ea79dfcbac
+Size (tbb2017_20160916oss_src.tgz) = 2938546 bytes
+SHA1 (patch-build_common.inc) = 78bfc2d2b1857b4fcee35cbbfd2febb67bbb0aaa
+SHA1 (patch-build_netbsd.gcc.inc) = d7cd7501b528b582f9dcc6bc13fd864dbdb324ad
+SHA1 (patch-build_netbsd.inc) = afe3016f90ab4d0738c575a45f9cb2bfe6c5849c
+SHA1 (patch-build_version__info__netbsd.sh) = f760f259ca5cf484e4f03e234eb9ee6e1afdfbae
diff --git a/threadingbuildingblocks/patches/patch-build_common.inc b/threadingbuildingblocks/patches/patch-build_common.inc
new file mode 100644
index 0000000..54c71a7
--- /dev/null
+++ b/threadingbuildingblocks/patches/patch-build_common.inc
@@ -0,0 +1,14 @@
+$NetBSD$
+
+--- build/common.inc.orig 2016-09-22 10:28:03.000000000 +0000
++++ build/common.inc
+@@ -36,6 +36,9 @@ ifndef tbb_os
+ ifeq ($(OS), Darwin)
+ export tbb_os=macos
+ endif
++ ifeq ($(OS), NetBSD)
++ export tbb_os=netbsd
++ endif
+
+ endif # !tbb_os
+
diff --git a/threadingbuildingblocks/patches/patch-build_netbsd.gcc.inc b/threadingbuildingblocks/patches/patch-build_netbsd.gcc.inc
new file mode 100644
index 0000000..5bcfdb1
--- /dev/null
+++ b/threadingbuildingblocks/patches/patch-build_netbsd.gcc.inc
@@ -0,0 +1,94 @@
+$NetBSD$
+
+--- build/netbsd.gcc.inc.orig 2016-10-20 01:46:08.872245327 +0000
++++ build/netbsd.gcc.inc
+@@ -0,0 +1,89 @@
++# Copyright (c) 2005-2016 Intel Corporation
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the 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
++WARNING_SUPPRESS = -Wno-parentheses
++
++CPLUS = g++
++CONLY = gcc
++LIB_LINK_FLAGS = -shared
++LIBS = -lpthread
++LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
++C_FLAGS = $(CPLUS_FLAGS)
++
++# gcc 6.0 and later have -flifetime-dse option that controls
++# elimination of stores done outside the object lifetime
++ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
++ # keep pre-contruction stores for zero initialization
++ DSE_KEY = -flifetime-dse=1
++endif
++
++ifeq ($(cfg), release)
++ CPLUS_FLAGS = -g -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 (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
++
++#------------------------------------------------------------------------------
++# End of setting tbbmalloc data.
++#------------------------------------------------------------------------------
diff --git a/threadingbuildingblocks/patches/patch-build_netbsd.inc b/threadingbuildingblocks/patches/patch-build_netbsd.inc
new file mode 100644
index 0000000..b078646
--- /dev/null
+++ b/threadingbuildingblocks/patches/patch-build_netbsd.inc
@@ -0,0 +1,117 @@
+$NetBSD$
+
+--- build/netbsd.inc.orig 2016-10-20 01:46:08.876367387 +0000
++++ build/netbsd.inc
+@@ -0,0 +1,112 @@
++# Copyright (c) 2005-2016 Intel Corporation
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++#
++#
++#
++#
++
++####### Detections and Commands ###############################################
++
++ifeq (icc,$(compiler))
++ export COMPILER_VERSION := ICC: $(shell icc -V </dev/null 2>&1 | grep 'Version')
++ ifneq (,$(findstring running on IA-32, $(COMPILER_VERSION)))
++ export arch:=ia32
++ else
++ ifneq (,$(findstring running on Intel(R) 64, $(COMPILER_VERSION)))
++ export arch:=intel64
++ else
++ ifneq (,$(findstring IA-64, $(COMPILER_VERSION)))
++ export arch:=ia64
++ endif
++ endif
++ endif
++ ifeq (,$(arch))
++ $(warning "Unknown Intel compiler")
++ endif
++endif
++
++ifndef arch
++ uname_m:=$(shell uname -m)
++ ifeq ($(uname_m),i386)
++ export arch:=ia32
++ endif
++ ifeq ($(uname_m),amd64)
++ export arch:=intel64
++ endif
++ ifndef arch
++ export arch:=$(uname_m)
++ endif
++endif
++
++ifndef runtime
++ export gcc_version:=$(shell gcc -dumpversion)
++ os_version:=$(shell uname -r)
++ os_kernel_version:=$(shell uname -r)
++ 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_netbsd.sh $(VERSION_FLAGS) >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
++MALLOC_DLL?=$(DLL)
++LIBEXT = so
++SONAME_SUFFIX =$(shell grep TBB_COMPATIBLE_INTERFACE_VERSION $(tbb_root)/include/tbb/tbb_stddef.h | egrep -o [0-9.]+)
++
++TBB.LST =
++TBB.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).$(MALLOC_DLL)
++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.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.DLL = $(RML_NO_VERSION.DLL).1
++RML.LIB = $(RML_NO_VERSION.DLL)
++
++TEST_LAUNCHER=/usr/pkg/bin/bash $(tbb_root)/build/test_launcher.sh $(largs)
++
++OPENCL.LIB = -lOpenCL
diff --git a/threadingbuildingblocks/patches/patch-build_version__info__netbsd.sh b/threadingbuildingblocks/patches/patch-build_version__info__netbsd.sh
new file mode 100644
index 0000000..3ebd388
--- /dev/null
+++ b/threadingbuildingblocks/patches/patch-build_version__info__netbsd.sh
@@ -0,0 +1,37 @@
+$NetBSD$
+
+--- build/version_info_netbsd.sh.orig 2016-10-20 01:46:08.880514594 +0000
++++ build/version_info_netbsd.sh
+@@ -0,0 +1,32 @@
++#!/bin/sh
++#
++# Copyright (c) 2005-2016 Intel Corporation
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the 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 \'
++echo '#N": BUILD_OS'"\t\t"`uname -sr`'" ENDL \'
++echo '#N": BUILD_KERNEL'"\t"`uname -r`'" ENDL \'
++echo '#N": BUILD_GCC'"\t\t"`${CXX} -dumpversion`'" ENDL \'
++[ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \'
++echo '#N": BUILD_LD'"\t\t"`ld -v 2>&1 | head -n 1`'" ENDL \'
++echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \'
++echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \'
++echo ""
++echo "#define __TBB_DATETIME \""`date -u`"\""
Home |
Main Index |
Thread Index |
Old Index