aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-08-09 16:40:04 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-08-09 19:47:44 +0000
commit80eadab44ca19eb18e7d49dc6035a0757e3f7436 (patch)
tree57d43481549887996919af15c6a237487555f7ea
parentc638dc3a4dc4449127a787b549fce7cf94789ae9 (diff)
downloadports-80eadab44ca19eb18e7d49dc6035a0757e3f7436.tar.gz
ports-80eadab44ca19eb18e7d49dc6035a0757e3f7436.zip
devel/opencl-clang: flavorize for supported LLVM versions
Allow co-installation by moving under PREFIX/llvm*
-rw-r--r--devel/intel-graphics-compiler/Makefile12
-rw-r--r--devel/opencl-clang/Makefile40
-rw-r--r--devel/opencl-clang/distinfo.llvm103
-rw-r--r--devel/opencl-clang/distinfo.llvm11 (renamed from devel/opencl-clang/distinfo)0
-rw-r--r--devel/opencl-clang/distinfo.llvm123
-rw-r--r--devel/opencl-clang/distinfo.llvm707
-rw-r--r--devel/opencl-clang/distinfo.llvm807
-rw-r--r--devel/opencl-clang/distinfo.llvm907
8 files changed, 65 insertions, 14 deletions
diff --git a/devel/intel-graphics-compiler/Makefile b/devel/intel-graphics-compiler/Makefile
index 7e5935ba28cd..83e81935c5e6 100644
--- a/devel/intel-graphics-compiler/Makefile
+++ b/devel/intel-graphics-compiler/Makefile
@@ -1,6 +1,7 @@
PORTNAME= intel-graphics-compiler
DISTVERSIONPREFIX= igc-
DISTVERSION= 1.0.8173
+PORTREVISION= 1
CATEGORIES= devel
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@@ -17,7 +18,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
ONLY_FOR_ARCHS= amd64 i386
ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported
-LIB_DEPENDS= libopencl-clang.so:devel/opencl-clang
+LIB_DEPENDS= libopencl-clang.so.11:devel/opencl-clang@llvm11
USES= bison cmake compiler:c++17-lang python:build
USE_GITHUB= yes
@@ -25,6 +26,8 @@ USE_LDCONFIG= yes
GH_ACCOUNT= intel
GH_TUPLE= intel:vc-intrinsics:05d3f3d:vcintrin/../vc-intrinsics
CMAKE_OFF= INSTALL_SPIRVDLL
+CMAKE_ARGS= -DCMAKE_PREFIX_PATH:PATH="${LOCALBASE}/${LIB_DEPENDS:M*@llvm*:C/.*@//}" \
+ -DIGC_OPTION__LLVM_PREFERRED_VERSION:STRING="${LIB_DEPENDS:M*@llvm*:C/.*so\.//:C/:.*//}"
CFLAGS+= -Wno-macro-redefined # __fastcall
PLIST_SUB= ARCH_SUFX=${ARCH:S/i386/32/:S/amd//:S/x86_//}
@@ -44,11 +47,4 @@ post-patch:
@${REINPLACE_CMD} -e 's/"-Werror"//; /-Werror/d' \
${WRKSRC}/IGC/CMakeLists.txt
-pre-configure:
-# Only one libLLVM can be loaded, so use the same version as devel/opencl-clang
- @for f in ${LOCALBASE}/lib/libopencl-clang.so.*; do \
- ${REINPLACE_CMD} "/set.*LLVM.*VERSION/s/\".*\"/\"$${f##*so.}\"/" \
- ${WRKSRC}/external/llvm/llvm_preferred_version.cmake; \
- done
-
.include <bsd.port.mk>
diff --git a/devel/opencl-clang/Makefile b/devel/opencl-clang/Makefile
index f4978c6c162b..a74e7d890605 100644
--- a/devel/opencl-clang/Makefile
+++ b/devel/opencl-clang/Makefile
@@ -1,8 +1,21 @@
PORTNAME= opencl-clang
DISTVERSIONPREFIX= v
-DISTVERSION= 11.0.0
-PORTREVISION= 1
+DISTVERSION= ${DISTVERSION_${FLAVOR}}
+DISTVERSION_llvm12= 12.0.0
+DISTVERSION_llvm11= 11.0.0
+DISTVERSION_llvm10= 10.0.0-1
+DISTVERSION_llvm90= 9.0.1
+DISTVERSION_llvm80= 8.0.1-1
+DISTVERSION_llvm70= 7.0.1
CATEGORIES= devel
+PKGNAMESUFFIX= -${FLAVOR}
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= ${PATCHFILES_${FLAVOR}}
+PATCHFILES_llvm90+= 3e753ba0cb0f.patch:-p1 # https://github.com/intel/opencl-clang/pull/96
+PATCHFILES_llvm90+= b28f74f9789f.patch:-p1 # https://github.com/intel/opencl-clang/pull/97
+PATCHFILES_llvm80+= ${PATCHFILES_llvm90}
+PATCHFILES_llvm70+= ${PATCHFILES_llvm90}
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Clang wrapper to compile OpenCL C kernels to SPIR-V modules
@@ -10,15 +23,30 @@ 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:R} \
- libLLVMSPIRVLib.so.${DISTVERSION:R:R}:devel/spirv-llvm-translator@llvm${DISTVERSION:R:R}
+LIB_DEPENDS= libLLVM-${DISTVERSION:R:R}.so:devel/${FLAVOR} \
+ libLLVMSPIRVLib.so.${DISTVERSION:R:R}:devel/spirv-llvm-translator@${FLAVOR}
+
+FLAVORS= ${12 11 10 90 80 70:L:S/^/llvm/}
USES= cmake compiler:c++11-lib
USE_GITHUB= yes
-USE_LDCONFIG= yes
+USE_LDCONFIG= ${PREFIX}/${FLAVOR}/lib
GH_ACCOUNT= intel
-PLIST_FILES= include/cclang/common_clang.h \
+DISTINFO_FILE= ${.CURDIR}/distinfo.${FLAVOR}
+CMAKE_INSTALL_PREFIX= ${PREFIX}/${FLAVOR}
+_PLIST_FILES= include/cclang/common_clang.h \
lib/libopencl-clang.so \
lib/libopencl-clang.so.${DISTVERSION:R:R}
+.if ${FLAVOR:U:Mllvm70}
+_PLIST_FILES:= ${_PLIST_FILES:S/libopencl-/libcommon_/}
+.endif
+PLIST_FILES= ${_PLIST_FILES:S,^,${FLAVOR}/,}
+
+.if !defined(DEFAULT_MAKESUM)
+makesum:
+. for f in ${FLAVORS}
+ ${MAKE} -C${.CURDIR} FLAVOR=$f DEFAULT_MAKESUM=1 ${.TARGET}
+. endfor
+.endif
.include <bsd.port.mk>
diff --git a/devel/opencl-clang/distinfo.llvm10 b/devel/opencl-clang/distinfo.llvm10
new file mode 100644
index 000000000000..dc01174a28e6
--- /dev/null
+++ b/devel/opencl-clang/distinfo.llvm10
@@ -0,0 +1,3 @@
+TIMESTAMP = 1586267327
+SHA256 (intel-opencl-clang-v10.0.0-1_GH0.tar.gz) = 815005b6fb7fd8fd2f08b9036035d3aa9543f5ce8464e41ef2f2ed08a816f507
+SIZE (intel-opencl-clang-v10.0.0-1_GH0.tar.gz) = 23549
diff --git a/devel/opencl-clang/distinfo b/devel/opencl-clang/distinfo.llvm11
index d66c6af1cdd2..d66c6af1cdd2 100644
--- a/devel/opencl-clang/distinfo
+++ b/devel/opencl-clang/distinfo.llvm11
diff --git a/devel/opencl-clang/distinfo.llvm12 b/devel/opencl-clang/distinfo.llvm12
new file mode 100644
index 000000000000..8955e5b74647
--- /dev/null
+++ b/devel/opencl-clang/distinfo.llvm12
@@ -0,0 +1,3 @@
+TIMESTAMP = 1620727344
+SHA256 (intel-opencl-clang-v12.0.0_GH0.tar.gz) = da3cde9c3b360526371d255d99283f390a01a984fef84378d2df1e34021dda27
+SIZE (intel-opencl-clang-v12.0.0_GH0.tar.gz) = 25292
diff --git a/devel/opencl-clang/distinfo.llvm70 b/devel/opencl-clang/distinfo.llvm70
new file mode 100644
index 000000000000..891208dfc11f
--- /dev/null
+++ b/devel/opencl-clang/distinfo.llvm70
@@ -0,0 +1,7 @@
+TIMESTAMP = 1553516241
+SHA256 (intel-opencl-clang-v7.0.1_GH0.tar.gz) = 407800aceebebef8deaa1428d4b730a0f74329e0336a96fa1f1dd30a34b952e2
+SIZE (intel-opencl-clang-v7.0.1_GH0.tar.gz) = 49606
+SHA256 (3e753ba0cb0f.patch) = 805fbf620916e5efbfbd6c5160392ca88d43e2270e6d70539c767a6f9f6baacd
+SIZE (3e753ba0cb0f.patch) = 1211
+SHA256 (b28f74f9789f.patch) = 4a0ecba33d3b92ffa72a157330ab71aa20b93a6dede4336a03b09ae141e14057
+SIZE (b28f74f9789f.patch) = 1336
diff --git a/devel/opencl-clang/distinfo.llvm80 b/devel/opencl-clang/distinfo.llvm80
new file mode 100644
index 000000000000..db95983fb646
--- /dev/null
+++ b/devel/opencl-clang/distinfo.llvm80
@@ -0,0 +1,7 @@
+TIMESTAMP = 1582898359
+SHA256 (intel-opencl-clang-v8.0.1-1_GH0.tar.gz) = 00dd5d9606f916a935005ae1e13dd4f25a57ce89571b70a7ace7d3ec0fbaf550
+SIZE (intel-opencl-clang-v8.0.1-1_GH0.tar.gz) = 42534
+SHA256 (3e753ba0cb0f.patch) = 805fbf620916e5efbfbd6c5160392ca88d43e2270e6d70539c767a6f9f6baacd
+SIZE (3e753ba0cb0f.patch) = 1211
+SHA256 (b28f74f9789f.patch) = 4a0ecba33d3b92ffa72a157330ab71aa20b93a6dede4336a03b09ae141e14057
+SIZE (b28f74f9789f.patch) = 1336
diff --git a/devel/opencl-clang/distinfo.llvm90 b/devel/opencl-clang/distinfo.llvm90
new file mode 100644
index 000000000000..db233c1e6ccb
--- /dev/null
+++ b/devel/opencl-clang/distinfo.llvm90
@@ -0,0 +1,7 @@
+TIMESTAMP = 1583140288
+SHA256 (intel-opencl-clang-v9.0.1_GH0.tar.gz) = 058d51e88cdb018fd3016d1ee2042018bd1c3d131037d4ff2cb3f08d79a8fe6d
+SIZE (intel-opencl-clang-v9.0.1_GH0.tar.gz) = 24574
+SHA256 (3e753ba0cb0f.patch) = 805fbf620916e5efbfbd6c5160392ca88d43e2270e6d70539c767a6f9f6baacd
+SIZE (3e753ba0cb0f.patch) = 1211
+SHA256 (b28f74f9789f.patch) = 4a0ecba33d3b92ffa72a157330ab71aa20b93a6dede4336a03b09ae141e14057
+SIZE (b28f74f9789f.patch) = 1336