|
Lines 1-59
Link Here
|
| 1 |
PORTNAME= opencl-clang |
1 |
PORTNAME= opencl-clang |
| 2 |
DISTVERSIONPREFIX= v |
2 |
DISTVERSIONPREFIX= v |
| 3 |
DISTVERSION= ${DISTVERSION_${FLAVOR}} |
3 |
DISTVERSION= ${DISTVERSION_${FLAVOR}} |
| 4 |
DISTVERSION_llvm17= 17.0.0 |
4 |
DISTVERSION_llvm22= 22.1.0 |
| 5 |
DISTVERSION_llvm16= 16.0.0 |
5 |
DISTVERSION_llvm21= 21.1.2 |
| 6 |
DISTVERSION_llvm15= 15.0.0 |
6 |
DISTVERSION_llvm20= 20.1.2 |
| 7 |
DISTVERSION_llvm14= 14.0.0 |
7 |
DISTVERSION_llvm19= 19.1.2 |
| 8 |
DISTVERSION_llvm13= 13.0.0 |
8 |
DISTVERSION_llvm18= 18.1.3 |
| 9 |
DISTVERSION_llvm12= 12.0.0 |
9 |
DISTVERSION_llvm17= 17.0.3 |
|
|
10 |
DISTVERSION_llvm16= 16.0.8 |
| 11 |
DISTVERSION_llvm15= 15.0.6 |
| 12 |
DISTVERSION_llvm14= 14.0.5 |
| 13 |
DISTVERSION_llvm13= 13.0.1 |
| 14 |
DISTVERSION_llvm12= 12.0.1 |
| 10 |
CATEGORIES= devel |
15 |
CATEGORIES= devel |
| 11 |
PKGNAMESUFFIX= -${FLAVOR} |
16 |
PKGNAMESUFFIX= -${FLAVOR} |
| 12 |
|
17 |
|
| 13 |
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ |
|
|
| 14 |
.if ${FLAVOR:U} == llvm16 |
| 15 |
PATCHFILES+= 529a9188114b.patch:-p1 # https://github.com/intel/opencl-clang/pull/415 |
| 16 |
PATCHFILES+= 9f50367661bb.patch:-p1 # https://github.com/intel/opencl-clang/pull/419 |
| 17 |
PATCHFILES+= 5491ffa3fde5.patch:-p1 # https://github.com/intel/opencl-clang/pull/416 |
| 18 |
PATCHFILES+= 8102ee2f83c3.patch:-p1 # https://github.com/intel/opencl-clang/pull/439 |
| 19 |
.endif |
| 20 |
|
| 21 |
MAINTAINER= ports@FreeBSD.org |
18 |
MAINTAINER= ports@FreeBSD.org |
| 22 |
COMMENT= Clang wrapper to compile OpenCL C kernels to SPIR-V modules |
19 |
COMMENT= Clang wrapper to compile OpenCL C kernels to SPIR-V modules |
| 23 |
WWW= https://github.com/intel/opencl-clang |
20 |
WWW= https://github.com/intel/opencl-clang |
| 24 |
|
21 |
|
|
|
22 |
USE_GITHUB= yes |
| 23 |
GH_ACCOUNT= intel |
| 24 |
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ |
| 25 |
|
| 25 |
LICENSE= NCSA |
26 |
LICENSE= NCSA |
| 26 |
LICENSE_FILE= ${WRKSRC}/LICENSE |
27 |
LICENSE_FILE= ${WRKSRC}/LICENSE |
| 27 |
|
28 |
|
| 28 |
LIB_DEPENDS= libLLVM-${FLAVOR:S/llvm//}.so:devel/${FLAVOR} \ |
29 |
LIB_DEPENDS= libLLVM-${$LLVM_MJR}.so:devel/${FLAVOR} \ |
| 29 |
libLLVMSPIRVLib.so.${FLAVOR:S/llvm//}:devel/spirv-llvm-translator@${FLAVOR} |
30 |
libLLVMSPIRVLib.so.${LLVM_MJR}:devel/spirv-llvm-translator@${FLAVOR} |
|
|
31 |
|
| 32 |
FLAVORS= ${22 21 20 19 18 17 16 15 14 13 12:L:S/^/llvm/} |
| 33 |
FLAVOR?= llvm${LLVM_DEFAULT} |
| 30 |
|
34 |
|
| 31 |
FLAVORS= ${17 16 15 14 13 12:L:S/^/llvm/} |
35 |
LLVM_MJR= ${FLAVOR:S/llvm//} |
|
|
36 |
PREFERRED_LLVM= ${DISTVERSION:R:S/.0$//} |
| 32 |
|
37 |
|
| 33 |
USES= cmake compiler:c++11-lib |
38 |
USES= cmake compiler:c++11-lib |
| 34 |
USE_GITHUB= yes |
|
|
| 35 |
USE_LDCONFIG= ${PREFIX}/${FLAVOR}/lib |
39 |
USE_LDCONFIG= ${PREFIX}/${FLAVOR}/lib |
| 36 |
GH_ACCOUNT= intel |
40 |
|
|
|
41 |
.if ${LLVM_MJR} == 22 |
| 42 |
GH_TAGNAME= aaa3866 |
| 43 |
.elif ${LLVM_MJR} <= 13 |
| 44 |
. if ${LLVM_MJR} == 12 |
| 45 |
PATCHFILES+= 529a9188114b.patch:-p1 # https://github.com/intel/opencl-clang/pull/415 |
| 46 |
. endif |
| 47 |
PATCHFILES+= 9f50367661bb.patch:-p1 # https://github.com/intel/opencl-clang/pull/419 |
| 48 |
.endif |
| 49 |
|
| 50 |
.if ${LLVM_MJR} == 13 |
| 51 |
EXTRA_PATCHES+= ${PATCHDIR}/extra-13-patch-cl__headers_CMakeLists.txt |
| 52 |
.elif ${LLVM_MJR} >= 15 && ${LLVM_MJR} <= 16 |
| 53 |
EXTRA_PATCHES+= ${PATCHDIR}/extra-15+16-patch-options.h |
| 54 |
.elif ${LLVM_MJR} >= 17 && ${LLVM_MJR} <= 21 |
| 55 |
EXTRA_PATCHES+= ${PATCHDIR}/extra-17to21-patch-options.h |
| 56 |
.endif |
| 57 |
|
| 58 |
.if ${LLVM_MJR} >= 15 && ${LLVM_MJR} <= 21 |
| 59 |
EXTRA_PATCHES+= ${PATCHDIR}/extra-15to21-patch-options__compile.cpp |
| 60 |
.endif |
| 61 |
.if ${LLVM_MJR} <= 15 |
| 62 |
EXTRA_PATCHES+= ${PATCHDIR}/extra-le15-patch-common__clang.map |
| 63 |
.elif ${LLVM_MJR} >= 16 |
| 64 |
EXTRA_PATCHES+= ${PATCHDIR}/extra-ge16-patch-common__clang.map |
| 65 |
.endif |
| 66 |
|
| 37 |
DISTINFO_FILE= ${.CURDIR}/distinfo.${FLAVOR} |
67 |
DISTINFO_FILE= ${.CURDIR}/distinfo.${FLAVOR} |
|
|
68 |
PLIST_FILES= ${_PLIST_FILES:S,^,${FLAVOR}/,} |
| 69 |
|
| 38 |
CMAKE_ARGS= -DCMAKE_PREFIX_PATH:PATH="${LOCALBASE}/${FLAVOR}" \ |
70 |
CMAKE_ARGS= -DCMAKE_PREFIX_PATH:PATH="${LOCALBASE}/${FLAVOR}" \ |
| 39 |
-DPREFERRED_LLVM_VERSION:STRING="${FLAVOR:S/llvm//}" |
71 |
-DPREFERRED_LLVM_VERSION:STRING="${PREFERRED_LLVM}" |
| 40 |
CMAKE_INSTALL_PREFIX= ${PREFIX}/${FLAVOR} |
72 |
CMAKE_INSTALL_PREFIX= ${PREFIX}/${FLAVOR} |
| 41 |
.if defined(FLAVOR) && ${FLAVOR:S/llvm//} < 16 |
73 |
|
| 42 |
_PLIST_FILES= include/cclang/common_clang.h |
74 |
_COMMONCLANG= include/cclang/common_clang.h |
|
|
75 |
_MODMODMP= include/cclang/module.modulemap \ |
| 76 |
include/cclang/opencl-c-base.h \ |
| 77 |
include/cclang/opencl-c.h |
| 78 |
.if ${LLVM_MJR} < 16 |
| 79 |
_PLIST_FILES+= ${_COMMONCLANG} |
| 43 |
.else |
80 |
.else |
| 44 |
_PLIST_FILES= include/cclang/module.modulemap \ |
81 |
_PLIST_FILES+= include/cclang/opencl_clang.h |
| 45 |
include/cclang/opencl-c-base.h \ |
|
|
| 46 |
include/cclang/opencl-c.h \ |
| 47 |
include/cclang/opencl_clang.h |
| 48 |
.endif |
82 |
.endif |
| 49 |
_PLIST_FILES+= lib/libopencl-clang.so \ |
|
|
| 50 |
lib/libopencl-clang.so.${DISTVERSION:R:R} |
| 51 |
PLIST_FILES= ${_PLIST_FILES:S,^,${FLAVOR}/,} |
| 52 |
|
83 |
|
| 53 |
.if ${FLAVOR:U} == llvm12 || ${FLAVOR:U} == llvm13 || ${FLAVOR:U} == llvm14 || ${FLAVOR:U} == llvm15 |
84 |
.if ${LLVM_MJR} != 13 |
| 54 |
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-common__clang.map |
85 |
_PLIST_FILES+= ${_MODMODMP} |
| 55 |
.endif |
86 |
.endif |
| 56 |
|
87 |
|
|
|
88 |
_PLIST_FILES+= lib/libopencl-clang.so \ |
| 89 |
lib/libopencl-clang.so.${PREFERRED_LLVM} |
| 90 |
|
| 57 |
.if !defined(DEFAULT_MAKESUM) |
91 |
.if !defined(DEFAULT_MAKESUM) |
| 58 |
makesum: |
92 |
makesum: |
| 59 |
. for f in ${FLAVORS} |
93 |
. for f in ${FLAVORS} |