View | Details | Raw Unified | Return to bug 293448 | Differences between
and this patch

Collapse All | Expand All

(-)b/devel/opencl-clang/Makefile (-31 / +65 lines)
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}
(-)b/devel/opencl-clang/distinfo.llvm12 (-3 / +7 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1620727344
1
TIMESTAMP = 1772098806
2
SHA256 (intel-opencl-clang-v12.0.0_GH0.tar.gz) = da3cde9c3b360526371d255d99283f390a01a984fef84378d2df1e34021dda27
2
SHA256 (intel-opencl-clang-v12.0.1_GH0.tar.gz) = 7959789de83f0e085c20d6281c05bdc68a71abe6d8dc8f3748610044d11ed0f9
3
SIZE (intel-opencl-clang-v12.0.0_GH0.tar.gz) = 25292
3
SIZE (intel-opencl-clang-v12.0.1_GH0.tar.gz) = 77887
4
SHA256 (529a9188114b.patch) = 9e7944c9c0b01e757e106341df4019b730f6a75251fc3315f35815558b631c61
5
SIZE (529a9188114b.patch) = 969
6
SHA256 (9f50367661bb.patch) = 1dd6acf3af12f2fa19efa7307ad3e6366c9c3a42b18ba409e77d2276fbc783dc
7
SIZE (9f50367661bb.patch) = 1667
(-)b/devel/opencl-clang/distinfo.llvm13 (-3 / +5 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1630329235
1
TIMESTAMP = 1772147003
2
SHA256 (intel-opencl-clang-v13.0.0_GH0.tar.gz) = fea502dadbbe9f15cb6280e4931ad5b88b7df3256a15126e8453294367afd75f
2
SHA256 (intel-opencl-clang-v13.0.1_GH0.tar.gz) = 6daca23fe1a008cafbf745119a7088553dcb0b99a44c20235c815e1e9ece427f
3
SIZE (intel-opencl-clang-v13.0.0_GH0.tar.gz) = 25299
3
SIZE (intel-opencl-clang-v13.0.1_GH0.tar.gz) = 31873
4
SHA256 (9f50367661bb.patch) = 1dd6acf3af12f2fa19efa7307ad3e6366c9c3a42b18ba409e77d2276fbc783dc
5
SIZE (9f50367661bb.patch) = 1667
(-)b/devel/opencl-clang/distinfo.llvm14 (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1647999601
1
TIMESTAMP = 1772060356
2
SHA256 (intel-opencl-clang-v14.0.0_GH0.tar.gz) = ea767bdd6d631c7b23c13f7f697d457e0f514a418b0ab5a3fe0206371a0f84df
2
SHA256 (intel-opencl-clang-v14.0.5_GH0.tar.gz) = 622bca6ff731ca8089525137ed4e02690f25c58c749bc8cfa0701dddddedbf8e
3
SIZE (intel-opencl-clang-v14.0.0_GH0.tar.gz) = 26109
3
SIZE (intel-opencl-clang-v14.0.5_GH0.tar.gz) = 45379
(-)b/devel/opencl-clang/distinfo.llvm15 (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1661910100
1
TIMESTAMP = 1772056459
2
SHA256 (intel-opencl-clang-v15.0.0_GH0.tar.gz) = ea179674e52bc8c658e2655f76be467f7052f7d2c37ebcfdb102dce645ad1411
2
SHA256 (intel-opencl-clang-v15.0.6_GH0.tar.gz) = 9fc74db00ea3b3d28681863bbd50748a60c9484ca2da38896eef8ed691f158cd
3
SIZE (intel-opencl-clang-v15.0.0_GH0.tar.gz) = 26212
3
SIZE (intel-opencl-clang-v15.0.6_GH0.tar.gz) = 39667
(-)b/devel/opencl-clang/distinfo.llvm16 (-11 / +3 lines)
Lines 1-11 Link Here
1
TIMESTAMP = 1681348139
1
TIMESTAMP = 1772060354
2
SHA256 (intel-opencl-clang-v16.0.0_GH0.tar.gz) = 0a1b098cb56dc3af1dbeea6dce3124314238dfe50e30e25161ccd5a9067e7ff5
2
SHA256 (intel-opencl-clang-v16.0.8_GH0.tar.gz) = ab3827a8916f9949127e1619a9ca3a8d086806196e9879d2650e1dac247360be
3
SIZE (intel-opencl-clang-v16.0.0_GH0.tar.gz) = 28413
3
SIZE (intel-opencl-clang-v16.0.8_GH0.tar.gz) = 61012
4
SHA256 (529a9188114b.patch) = 543ea89c0f74b3a71097327e62004670837545868741cc27c2cf730261ea1e7c
5
SIZE (529a9188114b.patch) = 967
6
SHA256 (9f50367661bb.patch) = fba4ede3454544b670028ab739529b5369686a66bd77876190d406aa9ab97d73
7
SIZE (9f50367661bb.patch) = 1665
8
SHA256 (5491ffa3fde5.patch) = 06aa137e05f38c642d736ab0fc1ff9b54d57bba8b8248e1cc52a94190c7173f2
9
SIZE (5491ffa3fde5.patch) = 727
10
SHA256 (8102ee2f83c3.patch) = 4ddc3690951db23c3416b0870943d5e7289ac53df3914d7406b8a347fa17e4b9
11
SIZE (8102ee2f83c3.patch) = 3744
(-)b/devel/opencl-clang/distinfo.llvm17 (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1693298320
1
TIMESTAMP = 1772060353
2
SHA256 (intel-opencl-clang-v17.0.0_GH0.tar.gz) = ddfadeed84aae0f5ef72ff205939e0a6f4f236dbde55fc1f0f8abdfd9d777eb4
2
SHA256 (intel-opencl-clang-v17.0.3_GH0.tar.gz) = f5f9c33b99d48f2ad9019169dd185a5d102594c5b7dee8212778b113adf1fb69
3
SIZE (intel-opencl-clang-v17.0.0_GH0.tar.gz) = 28436
3
SIZE (intel-opencl-clang-v17.0.3_GH0.tar.gz) = 31031
(-)b/devel/opencl-clang/distinfo.llvm18 (+3 lines)
Added Link Here
1
TIMESTAMP = 1772060352
2
SHA256 (intel-opencl-clang-v18.1.3_GH0.tar.gz) = 9c5da08952623f873cc4623f30e1f261e9b0b15bff63c211f9ba342e227ae774
3
SIZE (intel-opencl-clang-v18.1.3_GH0.tar.gz) = 31405
(-)b/devel/opencl-clang/distinfo.llvm19 (+3 lines)
Added Link Here
1
TIMESTAMP = 1772060351
2
SHA256 (intel-opencl-clang-v19.1.2_GH0.tar.gz) = f3d07b50ede831baaa91b53a4ac6c74b32a2c4bf3d39685f1571aac2c237b42a
3
SIZE (intel-opencl-clang-v19.1.2_GH0.tar.gz) = 36825
(-)b/devel/opencl-clang/distinfo.llvm20 (+3 lines)
Added Link Here
1
TIMESTAMP = 1772060350
2
SHA256 (intel-opencl-clang-v20.1.2_GH0.tar.gz) = 13eec8d2d4bd1708ac532ffb95891d86fdb795f5a13960fc84332e2804feb661
3
SIZE (intel-opencl-clang-v20.1.2_GH0.tar.gz) = 38033
(-)b/devel/opencl-clang/distinfo.llvm21 (+3 lines)
Added Link Here
1
TIMESTAMP = 1772060349
2
SHA256 (intel-opencl-clang-v21.1.2_GH0.tar.gz) = f8470012d668454f58d02312308ea5b8da7ae441afbdf0407956c917fec30595
3
SIZE (intel-opencl-clang-v21.1.2_GH0.tar.gz) = 38026
(-)b/devel/opencl-clang/distinfo.llvm22 (+3 lines)
Added Link Here
1
TIMESTAMP = 1772010746
2
SHA256 (intel-opencl-clang-v22.1.0-aaa3866_GH0.tar.gz) = 88b697a159a0ef61738313b257e2b2a3e18f52523c8b8ecb666c7ca3a053681a
3
SIZE (intel-opencl-clang-v22.1.0-aaa3866_GH0.tar.gz) = 36061
(-)b/devel/opencl-clang/files/extra-13-patch-cl__headers_CMakeLists.txt (+13 lines)
Added Link Here
1
--- cl_headers/CMakeLists.txt.orig	2026-02-26 12:51:08.956720000 -0500
2
+++ cl_headers/CMakeLists.txt	2026-02-26 12:51:44.768546000 -0500
3
@@ -1,5 +1,9 @@
4
 set(CL_HEADERS_LIB cl_headers)
5
-set(CLANG_COMMAND clang)
6
+if(USE_PREBUILT_LLVM)
7
+    find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
8
+else()
9
+    set(CLANG_COMMAND $<TARGET_FILE:clang>)
10
+endif()
11
 set(LINUX_RESOURCE_LINKER_COMMAND linux_resource_linker)
12
 
13
 function(copy_file SRC DST)
(-)b/devel/opencl-clang/files/extra-15+16-patch-options.h (+14 lines)
Added Link Here
1
--- options.h.orig	2026-01-19 21:20:41.000000000 -0500
2
+++ options.h	2026-02-25 17:11:16.874661000 -0500
3
@@ -21,7 +21,11 @@
4
 #ifndef COMMON_CLANG_OPTIONS_H
5
 #define COMMON_CLANG_OPTIONS_H
6
 
7
+#ifdef USE_PREBUILT_LLVM
8
+#include "LLVMSPIRVLib/LLVMSPIRVOpts.h"
9
+#else // USE_PREBUILT_LLVM
10
 #include "LLVMSPIRVOpts.h"
11
+#endif // USE_PREBUILT_LLVM
12
 #include "clang/Basic/OpenCLOptions.h"
13
 #include "llvm/ADT/ArrayRef.h"
14
 #include "llvm/ADT/StringRef.h"
(-)b/devel/opencl-clang/files/extra-15to21-patch-options__compile.cpp (+14 lines)
Added Link Here
1
--- options_compile.cpp.orig	2026-02-25 14:12:14.857353000 -0500
2
+++ options_compile.cpp	2026-02-25 14:13:19.590114000 -0500
3
@@ -72,7 +72,11 @@
4
 #define _STRINGIFY(X) #X
5
 #define STRINGIFY(X) _STRINGIFY(X)
6
 #define EXT(X) ExtensionNamesMap[STRINGIFY(X)] = SPIRV::ExtensionID::X;
7
+#ifdef USE_PREBUILT_LLVM
8
+#include "LLVMSPIRVLib/LLVMSPIRVExtensions.inc"
9
+#else // USE_PREBUILT_LLVM
10
 #include "LLVMSPIRVExtensions.inc"
11
+#endif // USE_PREBUILT_LLVM
12
 #undef EXT
13
 #undef STRINGIFY
14
 #undef _STRINGIFY
(-)b/devel/opencl-clang/files/extra-17to21-patch-options.h (+14 lines)
Added Link Here
1
--- options.h.orig	2026-02-25 14:09:49.849351000 -0500
2
+++ options.h	2026-02-25 14:11:11.623753000 -0500
3
@@ -27,7 +27,11 @@
4
 #include "llvm/Option/ArgList.h"
5
 #include "llvm/Option/Option.h"
6
 #include "clang/Basic/OpenCLOptions.h"
7
+#ifdef USE_PREBUILT_LLVM
8
+#include "LLVMSPIRVLib/LLVMSPIRVOpts.h"
9
+#else // USE_PREBUILT_LLVM
10
 #include "LLVMSPIRVOpts.h"
11
+#endif // USE_PREBUILT_LLVM
12
 
13
 #include <list>
14
 
(-)b/devel/opencl-clang/files/extra-ge16-patch-common__clang.map (+13 lines)
Added Link Here
1
--- opencl_clang.map.orig	2026-02-25 03:50:17.479992000 -0500
2
+++ opencl_clang.map	2026-02-25 03:51:28.165351000 -0500
3
@@ -2,10 +2,7 @@
4
 global:
5
  extern "C" {
6
    CheckCompileOptions;
7
-   CheckLinkOptions;
8
    Compile;
9
-   Link;
10
-   GetKernelArgInfo;
11
    PCM_OPENCL_C_H*;
12
    PCM_OPENCL_C_BASE_H*;
13
    PCM_OPENCL_C_12_SPIR_PCM*;

Return to bug 293448