diff --git a/lang/Makefile b/lang/Makefile index 074e0a7f4a76..7d4f4fe2913c 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -30,6 +30,7 @@ SUBDIR += cfortran SUBDIR += chibi-scheme SUBDIR += chicken + SUBDIR += cilkplus SUBDIR += cint SUBDIR += cjs SUBDIR += clang-devel diff --git a/lang/cilkplus/Makefile b/lang/cilkplus/Makefile new file mode 100644 index 000000000000..06c2331e1edb --- /dev/null +++ b/lang/cilkplus/Makefile @@ -0,0 +1,27 @@ +# Created by: Pedro Giffuni +# $FreeBSD$ + +PORTNAME= cilkplus +PORTVERSION= 20160603 +CATEGORIES= lang devel +MASTER_SITES= https://www.cilkplus.org/sites/default/files/runtime_source/ +PKGNAMESUFFIX= -rtl +DISTNAME= ${PORTNAME}${PKGNAMESUFFIX}-${HG_REVISION} + +MAINTAINER= pfg@FreeBSD.org +COMMENT= Intel Cilk Runtime + +LICENSE= BSD3CLAUSE + +HG_REVISION= 004467 + +USE_GCC= 4.9+ + +ONLY_FOR_ARCHS= i386 amd64 sparc64 + +USE_LDCONFIG= yes +WRKSRC= ${WRKDIR}/${PORTNAME}${PKGNAMESUFFIX}-src-${HG_REVISION} + +USES= tar:tgz cmake + +.include diff --git a/lang/cilkplus/distinfo b/lang/cilkplus/distinfo new file mode 100644 index 000000000000..0561d04029dd --- /dev/null +++ b/lang/cilkplus/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1472758796 +SHA256 (cilkplus-rtl-004467.tgz) = e3cc83e42afe34c03da7938b79cdebc3b7f3237d3734a4d45c9ad91d7abe475e +SIZE (cilkplus-rtl-004467.tgz) = 447080 diff --git a/lang/cilkplus/files/patch-runtime_declare-alloca.h b/lang/cilkplus/files/patch-runtime_declare-alloca.h new file mode 100644 index 000000000000..23a8968e4805 --- /dev/null +++ b/lang/cilkplus/files/patch-runtime_declare-alloca.h @@ -0,0 +1,18 @@ +--- runtime/declare-alloca.h.orig 2016-06-01 19:59:38 UTC ++++ runtime/declare-alloca.h +@@ -53,10 +53,14 @@ + * be wrong. Here's a variant on what's recommended in the autoconf doc + */ + ++#include ++ + #if defined _MSC_VER + # include + # define alloca _alloca +-#elif defined HAVE_ALLOCA_H ++#elif defined BSD4_4 ++# include ++#elif defined HAVE_ALLOCA_H + # include + #elif defined __GNUC__ + # define alloca __builtin_alloca diff --git a/lang/cilkplus/pkg-descr b/lang/cilkplus/pkg-descr new file mode 100644 index 000000000000..b51f7e04dc49 --- /dev/null +++ b/lang/cilkplus/pkg-descr @@ -0,0 +1,24 @@ +Intel Cilk Plus is an extension to the C and C++ languages to support data +and task parallelism. + +Primary Features + +High Performance: + * An efficient work-stealing scheduler provides nearly optimal + scheduling of parallel tasks + * Vector support unlocks the performance that's been hiding in your + processors + * Powerful hyperobjects allow for lock-free programming +Easy to Learn: + * Only 3 new keywords to implement task parallelism + * Serial semantics make understanding and debugging the parallel + program easier + *Array Notations provide a natural way to express data parallelism +Easy to Use: + * Automatic load balancing provides good behavior in multi-programmed + environments + * Existing algorithms easily adapted for parallelism with minimal + modification + * Supports both C and C++ programmers + +WWW: https://www.cilkplus.org/ diff --git a/lang/cilkplus/pkg-plist b/lang/cilkplus/pkg-plist new file mode 100644 index 000000000000..819a8e137d03 --- /dev/null +++ b/lang/cilkplus/pkg-plist @@ -0,0 +1,26 @@ +include/cilk/cilk.h +include/cilk/cilk_api.h +include/cilk/cilk_api_linux.h +include/cilk/cilk_stub.h +include/cilk/cilk_undocumented.h +include/cilk/common.h +include/cilk/holder.h +include/cilk/hyperobject_base.h +include/cilk/metaprogramming.h +include/cilk/reducer.h +include/cilk/reducer_file.h +include/cilk/reducer_list.h +include/cilk/reducer_max.h +include/cilk/reducer_min.h +include/cilk/reducer_min_max.h +include/cilk/reducer_opadd.h +include/cilk/reducer_opand.h +include/cilk/reducer_opmul.h +include/cilk/reducer_opor.h +include/cilk/reducer_opxor.h +include/cilk/reducer_ostream.h +include/cilk/reducer_string.h +include/cilk/reducer_vector.h +lib/libcilkrts.a +lib/libcilkrts.so +lib/libcilkrts.so.5