Commit 6a225989 authored by kwm's avatar kwm
Browse files

Add libclc.

Llvm libclc implements the library requirements of the OpenCL C programming
language, as specified by the OpenCL 1.1 spec.
parent 1d99bb32
......@@ -969,6 +969,7 @@
SUBDIR += libcidr
SUBDIR += libcii
SUBDIR += libclaw
SUBDIR += libclc
SUBDIR += libcli
SUBDIR += libconfig
SUBDIR += libconfuse
......
# Created by: Koop Mast <kwm@FreeBSD.org>
# $FreeBSD$
PORTNAME= libclc
DISTVERSION= 0.0.r${SVN_REV}
CATEGORIES= devel
MASTER_SITES= LOCAL/kwm
MAINTAINER= kwm@FreeBSD.org
COMMENT= Required library functions for OpenCL C programming language
BUILD_DEPENDS= clang${LLVMVER}:${PORTSDIR}/lang/clang${LLVMVER}
GNU_CONFIGURE= yes
USES= gmake python:build ninja tar:xz
USE_LDCONFIG= yes
MAKE_ENV= MAKE=${GMAKE} DESTDIR=${STAGEDIR}
LLVMVER= 34
ALL_TARGET=
#.include <bsd.port.pre.mk>
.if !defined(SVN_REV)
.if defined(BOOTSTRAP)
LANG= "C"
SVN_REV!= svn info http://llvm.org/svn/llvm-project/ | ${GREP} Revision | cut -d' ' -f2
.else
.include "Makefile.svn_rev"
.endif
.endif
.if defined(BOOTSTRAP) || defined(SVN_FETCH)
FETCH_DEPENDS+= svn:${PORTSDIR}/devel/subversion
do-fetch:
${MKDIR} ${WRKDIR}
svn export -r ${SVN_REV} \
http://llvm.org/svn/llvm-project/libclc/trunk ${WRKSRC}
cd ${WRKDIR}; tar cvfJ ${DISTDIR}/${DISTNAME}.tar.xz ${DISTNAME}
echo "SVN_REV= ${SVN_REV}" > ${MASTERDIR}/Makefile.svn_rev
.if ${USER} == kwm
scp ${DISTDIR}/${DISTNAME}.tar.xz \
kwm@freefall.freebsd.org:public_distfiles/
.endif
.endif
post-patch:
@${REINPLACE_CMD} -e 's|python|${PYTHON_VERSION}|g' \
-e 's|/usr/bin/python|${PYTHON_CMD}|g' \
${WRKSRC}/build/ninja_syntax.py \
${WRKSRC}/configure.py
do-configure:
@cd ${WRKSRC} && ${PYTHON_CMD} configure.py -g ninja \
--with-llvm-config=${LOCALBASE}/bin/llvm-config${LLVMVER} \
--pkgconfigdir=${PREFIX}/libdata/pkgconfig
.include <bsd.port.mk>
SHA256 (libclc-0.0.r216063.tar.xz) = 3fce107018c559599cb73af6654cbae356437aae502b8e0f1c2e3f77c6ca867e
SIZE (libclc-0.0.r216063.tar.xz) = 36776
--- configure.py.orig 2014-02-14 21:33:53.000000000 +0100
+++ configure.py 2014-08-20 13:42:06.162076745 +0200
@@ -228,7 +228,7 @@
{'src': file,
'dst': libexecdir}
for (file, dest) in install_files_bc])
-install_cmd = ' && '.join(['%(old)s && mkdir -p ${DESTDIR}/%(dst)s && cp -r %(srcdir)s/generic/include/clc ${DESTDIR}/%(dst)s' %
+install_cmd = ' && '.join(['%(old)s && mkdir -p ${DESTDIR}/%(dst)s && cp -r generic/include/clc ${DESTDIR}/%(dst)s' %
{'old': install_cmd,
'dst': includedir,
'srcdir': srcdir}])
libclc is an open source, BSD licensed implementation of the library
requirements of the OpenCL C programming language, as specified by the
OpenCL 1.1 Specification. The following sections of the specification
impose library requirements:
WWW: http://libclc.llvm.org/
include/clc/as_type.h
include/clc/atomic/atomic_add.h
include/clc/atomic/atomic_dec.h
include/clc/atomic/atomic_decl.inc
include/clc/atomic/atomic_inc.h
include/clc/atomic/atomic_sub.h
include/clc/cl_khr_global_int32_base_atomics/atom_add.h
include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
include/clc/clc.h
include/clc/clcfunc.h
include/clc/clctypes.h
include/clc/clcversion.h
include/clc/common/sign.h
include/clc/convert.h
include/clc/float/definitions.h
include/clc/geometric/cross.h
include/clc/geometric/distance.h
include/clc/geometric/dot.h
include/clc/geometric/dot.inc
include/clc/geometric/floatn.inc
include/clc/geometric/length.h
include/clc/geometric/length.inc
include/clc/geometric/normalize.h
include/clc/geometric/normalize.inc
include/clc/integer/abs.h
include/clc/integer/abs.inc
include/clc/integer/abs_diff.h
include/clc/integer/abs_diff.inc
include/clc/integer/add_sat.h
include/clc/integer/add_sat.inc
include/clc/integer/clz.h
include/clc/integer/clz.inc
include/clc/integer/definitions.h
include/clc/integer/gentype.inc
include/clc/integer/hadd.h
include/clc/integer/hadd.inc
include/clc/integer/integer-gentype.inc
include/clc/integer/mad24.h
include/clc/integer/mad24.inc
include/clc/integer/mad_hi.h
include/clc/integer/mul24.h
include/clc/integer/mul24.inc
include/clc/integer/mul_hi.h
include/clc/integer/mul_hi.inc
include/clc/integer/rhadd.h
include/clc/integer/rhadd.inc
include/clc/integer/rotate.h
include/clc/integer/rotate.inc
include/clc/integer/sub_sat.h
include/clc/integer/sub_sat.inc
include/clc/integer/upsample.h
include/clc/math/atan.h
include/clc/math/atan.inc
include/clc/math/atan2.h
include/clc/math/atan2.inc
include/clc/math/binary_decl.inc
include/clc/math/binary_intrin.inc
include/clc/math/ceil.h
include/clc/math/clc_nextafter.h
include/clc/math/copysign.h
include/clc/math/cos.h
include/clc/math/cos.inc
include/clc/math/exp.h
include/clc/math/exp10.h
include/clc/math/exp2.h
include/clc/math/fabs.h
include/clc/math/floor.h
include/clc/math/fma.h
include/clc/math/fmax.h
include/clc/math/fmin.h
include/clc/math/gentype.inc
include/clc/math/hypot.h
include/clc/math/hypot.inc
include/clc/math/log.h
include/clc/math/log2.h
include/clc/math/mad.h
include/clc/math/mad.inc
include/clc/math/mix.h
include/clc/math/mix.inc
include/clc/math/native_cos.h
include/clc/math/native_divide.h
include/clc/math/native_exp.h
include/clc/math/native_exp10.h
include/clc/math/native_exp2.h
include/clc/math/native_log.h
include/clc/math/native_log2.h
include/clc/math/native_powr.h
include/clc/math/native_sin.h
include/clc/math/native_sqrt.h
include/clc/math/nextafter.h
include/clc/math/pow.h
include/clc/math/pown.h
include/clc/math/rint.h
include/clc/math/round.h
include/clc/math/rsqrt.h
include/clc/math/sin.h
include/clc/math/sin.inc
include/clc/math/sincos.h
include/clc/math/sincos.inc
include/clc/math/sqrt.h
include/clc/math/ternary_intrin.inc
include/clc/math/trunc.h
include/clc/math/unary_decl.inc
include/clc/math/unary_intrin.inc
include/clc/relational/all.h
include/clc/relational/any.h
include/clc/relational/binary_decl.inc
include/clc/relational/bitselect.h
include/clc/relational/floatn.inc
include/clc/relational/isequal.h
include/clc/relational/isgreater.h
include/clc/relational/isgreaterequal.h
include/clc/relational/isless.h
include/clc/relational/islessequal.h
include/clc/relational/isnan.h
include/clc/relational/isnotequal.h
include/clc/relational/select.h
include/clc/relational/signbit.h
include/clc/relational/unary_decl.inc
include/clc/shared/clamp.h
include/clc/shared/clamp.inc
include/clc/shared/max.h
include/clc/shared/max.inc
include/clc/shared/min.h
include/clc/shared/min.inc
include/clc/shared/vload.h
include/clc/shared/vstore.h
include/clc/synchronization/barrier.h
include/clc/synchronization/cl_mem_fence_flags.h
include/clc/workitem/get_global_id.h
include/clc/workitem/get_global_size.h
include/clc/workitem/get_group_id.h
include/clc/workitem/get_local_id.h
include/clc/workitem/get_local_size.h
include/clc/workitem/get_num_groups.h
lib/clc/aruba-r600--.bc
lib/clc/barts-r600--.bc
lib/clc/bonaire-r600--.bc
lib/clc/caicos-r600--.bc
lib/clc/cayman-r600--.bc
lib/clc/cedar-r600--.bc
lib/clc/cypress-r600--.bc
lib/clc/hawaii-r600--.bc
lib/clc/hemlock-r600--.bc
lib/clc/juniper-r600--.bc
lib/clc/kabini-r600--.bc
lib/clc/kaveri-r600--.bc
lib/clc/nvptx--nvidiacl.bc
lib/clc/nvptx64--nvidiacl.bc
lib/clc/oland-r600--.bc
lib/clc/palm-r600--.bc
lib/clc/pitcairn-r600--.bc
lib/clc/redwood-r600--.bc
lib/clc/sumo-r600--.bc
lib/clc/sumo2-r600--.bc
lib/clc/tahiti-r600--.bc
lib/clc/turks-r600--.bc
lib/clc/verde-r600--.bc
libdata/pkgconfig/libclc.pc
@dirrmtry lib/clc
@dirrmtry include/clc/workitem
@dirrmtry include/clc/synchronization
@dirrmtry include/clc/shared
@dirrmtry include/clc/relational
@dirrmtry include/clc/math
@dirrmtry include/clc/integer
@dirrmtry include/clc/geometric
@dirrmtry include/clc/float
@dirrmtry include/clc/common
@dirrmtry include/clc/cl_khr_global_int32_base_atomics
@dirrmtry include/clc/atomic
@dirrmtry include/clc
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment