summaryrefslogtreecommitdiff
path: root/devel/opencl-clang
diff options
context:
space:
mode:
Diffstat (limited to 'devel/opencl-clang')
-rw-r--r--devel/opencl-clang/Makefile42
-rw-r--r--devel/opencl-clang/distinfo7
-rw-r--r--devel/opencl-clang/pkg-descr5
3 files changed, 54 insertions, 0 deletions
diff --git a/devel/opencl-clang/Makefile b/devel/opencl-clang/Makefile
new file mode 100644
index 000000000000..17ec5851863e
--- /dev/null
+++ b/devel/opencl-clang/Makefile
@@ -0,0 +1,42 @@
+# $FreeBSD$
+
+PORTNAME= opencl-clang
+DISTVERSIONPREFIX= v
+DISTVERSION= 9.0.0
+CATEGORIES= devel
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= 29a1f0d9e4e2.patch:-p1 # unbreak on non-x86
+PATCHFILES+= b25df8a90fec.patch:-p1 # don't require Git
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Clang wrapper to compile OpenCL C kernels to SPIR-V modules
+
+LICENSE= NCSA
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libLLVM-${DISTVERSION:R:R}.so:devel/llvm${DISTVERSION:R:S/.//g} \
+ libLLVMSPIRVLib.so.${DISTVERSION:R:R}:devel/spirv-llvm-translator
+
+USES= cmake compiler:c++11-lib localbase:ldflags
+USE_GITHUB= yes
+USE_LDCONFIG= yes
+GH_ACCOUNT= intel
+CMAKE_OFF= LLVMSPIRV_INCLUDED_IN_LLVM
+CMAKE_ARGS= -DSPIRV_TRANSLATOR_DIR:PATH="${PREFIX}/lib"
+PLIST_FILES= include/cclang/common_clang.h \
+ lib/libopencl-clang.so \
+ lib/libopencl-clang.so.${DISTVERSION:R:R}
+
+pre-configure:
+# XXX devel/llvm* only includes DetermineGCCCompatible if OPENMP is enabled
+ @if [ ! -e ${LOCALBASE}/llvm${DISTVERSION:R:S/.//g}/lib/cmake/llvm/DetermineGCCCompatible.cmake ]; then \
+ ${MKDIR} ${WRKSRC}/cmake; \
+ ${SED} 's/.*DetermineGCCCompatible.*/set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)/' \
+ ${LOCALBASE}/llvm${DISTVERSION:R:S/.//g}/lib/cmake/llvm/AddLLVM.cmake \
+ >${WRKSRC}/cmake/AddLLVM.cmake; \
+ ${REINPLACE_CMD} $$'1a\\\nlist(APPEND CMAKE_MODULE_PATH $${CMAKE_SOURCE_DIR}/cmake)\n' \
+ ${WRKSRC}/CMakeLists.txt; \
+ fi
+
+.include <bsd.port.mk>
diff --git a/devel/opencl-clang/distinfo b/devel/opencl-clang/distinfo
new file mode 100644
index 000000000000..24ab55bcd956
--- /dev/null
+++ b/devel/opencl-clang/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1569325196
+SHA256 (intel-opencl-clang-v9.0.0_GH0.tar.gz) = f98b9122da4066e96853429a3cff9e6c0bfb0fee14fa2be5a22e43546a5cfd93
+SIZE (intel-opencl-clang-v9.0.0_GH0.tar.gz) = 23345
+SHA256 (29a1f0d9e4e2.patch) = 69fdd7b9b669bdd0ff75da22e8f16b0f872475e7865bb42c1358acf3ca9972a6
+SIZE (29a1f0d9e4e2.patch) = 1211
+SHA256 (b25df8a90fec.patch) = 3a52fc0bf93dc4c7accbba2327f4a70b6e5650841876b6a4224210074a6c9462
+SIZE (b25df8a90fec.patch) = 1336
diff --git a/devel/opencl-clang/pkg-descr b/devel/opencl-clang/pkg-descr
new file mode 100644
index 000000000000..38d24231f892
--- /dev/null
+++ b/devel/opencl-clang/pkg-descr
@@ -0,0 +1,5 @@
+Common clang is a thin wrapper library around clang. Common clang has
+OpenCL-oriented API and is capable to compile OpenCL C kernels to
+SPIR-V modules.
+
+WWW: https://github.com/intel/opencl-clang