git: c01e7d09ade3 - main - devel/libclc: Flavorize the port

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Tue, 27 Aug 2024 16:31:29 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c01e7d09ade35c40645935cbeef38cf28cb487d1

commit c01e7d09ade35c40645935cbeef38cf28cb487d1
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2024-08-22 09:05:56 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2024-08-27 16:29:44 +0000

    devel/libclc: Flavorize the port
    
    Defines some flavors for llvm15 to llvm18 for libclc.
    This will allow users to use a different LLVM_DEFAULT without having
    to rely on the default one (llvm15 for now).
    
    PR:             280863
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
---
 devel/libclc/Makefile        |  30 +-
 devel/libclc/distinfo        |   3 -
 devel/libclc/distinfo.llvm15 |   3 +
 devel/libclc/distinfo.llvm16 |   3 +
 devel/libclc/distinfo.llvm17 |   3 +
 devel/libclc/distinfo.llvm18 |   3 +
 devel/libclc/pkg-plist       | 744 +++++++++++++++++++++++--------------------
 graphics/mesa-devel/Makefile |   4 +-
 graphics/mesa-dri/Makefile   |   5 +-
 lang/clover/Makefile         |   4 +-
 10 files changed, 444 insertions(+), 358 deletions(-)

diff --git a/devel/libclc/Makefile b/devel/libclc/Makefile
index 2e2a32e828c5..c80c03ed89fd 100644
--- a/devel/libclc/Makefile
+++ b/devel/libclc/Makefile
@@ -1,8 +1,13 @@
 PORTNAME=	libclc
-DISTVERSION=	15.0.4
+DISTVERSION=	${DISTVERSION_${FLAVOR}}
+DISTVERSION_llvm18=	18.1.8
+DISTVERSION_llvm17=	17.0.6
+DISTVERSION_llvm16=	16.0.6
+DISTVERSION_llvm15=	15.0.7
 CATEGORIES=	devel
 MASTER_SITES=	https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/
 DISTNAME=	libclc-${DISTVERSION}.src
+PKGNAMESUFFIX=	-${FLAVOR}
 
 MAINTAINER=	x11@FreeBSD.org
 COMMENT=	Required library functions for OpenCL C programming language
@@ -13,14 +18,25 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.TXT
 LICENSE_NAME=	Apache License 2.0 with LLVM Exceptions
 LICENSE_PERMS=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
 
-BUILD_DEPENDS=	llvm15>=15.0:devel/llvm15 \
-		spirv-llvm-translator-llvm15>0:devel/spirv-llvm-translator@llvm15 \
+BUILD_DEPENDS=	spirv-llvm-translator-${FLAVOR}>0:devel/spirv-llvm-translator@${FLAVOR} \
 		libedit>=0:devel/libedit
 
-USES=		cmake compiler:c++11-lib python:build tar:xz
-USE_LDCONFIG=	yes
+FLAVORS=	${15 16 17 18:L:S/^/llvm/}
+
+USES=		cmake compiler:c++11-lib llvm:${FLAVOR:S/llvm//},build python:build tar:xz
+USE_LDCONFIG=	${PREFIX}/${FLAVOR}/lib
 
 BINARY_ALIAS=	python=${PYTHON_CMD}
-CMAKE_ARGS+=	-DLLVM_CONFIG=${LOCALBASE}/bin/llvm-config15
+CMAKE_ARGS+=	-DLLVM_DIR:PATH="${LOCALBASE}/${FLAVOR}" \
+		-DCMAKE_PREFIX_PATH="${LOCALBASE}/${FLAVOR}"
+CMAKE_INSTALL_PREFIX=		${PREFIX}/${FLAVOR}
+DISTINFO_FILE=	${.CURDIR}/distinfo.${FLAVOR}
+
+.include <bsd.port.pre.mk>
+
+PLIST_SUB+=	${FLAVORS:N${FLAVOR}:@v@${v:tu}="\@comment "@}
+PLIST_SUB+=	${FLAVOR:tu}=""
+PLIST_SUB+=	LLVM_VERSION=${FLAVOR}
+
+.include <bsd.port.post.mk>
 
-.include <bsd.port.mk>
diff --git a/devel/libclc/distinfo b/devel/libclc/distinfo
deleted file mode 100644
index aefd19a50653..000000000000
--- a/devel/libclc/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1670152889
-SHA256 (libclc-15.0.4.src.tar.xz) = 00cc092947ef533999db42d18a4134f6ee1d74a60f5c84387ef28ca9e02e2a16
-SIZE (libclc-15.0.4.src.tar.xz) = 125840
diff --git a/devel/libclc/distinfo.llvm15 b/devel/libclc/distinfo.llvm15
new file mode 100644
index 000000000000..3262e5254cf9
--- /dev/null
+++ b/devel/libclc/distinfo.llvm15
@@ -0,0 +1,3 @@
+TIMESTAMP = 1724224690
+SHA256 (libclc-15.0.7.src.tar.xz) = 35731fea7be224f21acf5bf3cd9f0ed058bf4ada5eceaf7f10ee96e139bd3389
+SIZE (libclc-15.0.7.src.tar.xz) = 125820
diff --git a/devel/libclc/distinfo.llvm16 b/devel/libclc/distinfo.llvm16
new file mode 100644
index 000000000000..7de43687c041
--- /dev/null
+++ b/devel/libclc/distinfo.llvm16
@@ -0,0 +1,3 @@
+TIMESTAMP = 1724224686
+SHA256 (libclc-16.0.6.src.tar.xz) = 61952af79c555d50bc88cb6f134d9abe9278f65dd34c2bc945cc3d324c2af224
+SIZE (libclc-16.0.6.src.tar.xz) = 125656
diff --git a/devel/libclc/distinfo.llvm17 b/devel/libclc/distinfo.llvm17
new file mode 100644
index 000000000000..ab97225d0614
--- /dev/null
+++ b/devel/libclc/distinfo.llvm17
@@ -0,0 +1,3 @@
+TIMESTAMP = 1724224682
+SHA256 (libclc-17.0.6.src.tar.xz) = 122f641d94d5dfbb3c37534f2b76612fa59d15c36c2a4917369a85eaaca32148
+SIZE (libclc-17.0.6.src.tar.xz) = 126360
diff --git a/devel/libclc/distinfo.llvm18 b/devel/libclc/distinfo.llvm18
new file mode 100644
index 000000000000..0bfa93669af8
--- /dev/null
+++ b/devel/libclc/distinfo.llvm18
@@ -0,0 +1,3 @@
+TIMESTAMP = 1724224695
+SHA256 (libclc-18.1.8.src.tar.xz) = 905bd59e9f810d6bd0ae6874725a8f8a3c91cb416199c03f2b98b57437cfb32e
+SIZE (libclc-18.1.8.src.tar.xz) = 126572
diff --git a/devel/libclc/pkg-plist b/devel/libclc/pkg-plist
index 60121044550b..b2247e882326 100644
--- a/devel/libclc/pkg-plist
+++ b/devel/libclc/pkg-plist
@@ -1,342 +1,402 @@
-include/clc/as_type.h
-include/clc/async/async_work_group_copy.h
-include/clc/async/async_work_group_copy.inc
-include/clc/async/async_work_group_strided_copy.h
-include/clc/async/async_work_group_strided_copy.inc
-include/clc/async/gentype.inc
-include/clc/async/prefetch.h
-include/clc/async/prefetch.inc
-include/clc/async/wait_group_events.h
-include/clc/atom_decl_int32.inc
-include/clc/atom_decl_int64.inc
-include/clc/atomic/atomic_add.h
-include/clc/atomic/atomic_and.h
-include/clc/atomic/atomic_cmpxchg.h
-include/clc/atomic/atomic_dec.h
-include/clc/atomic/atomic_decl.inc
-include/clc/atomic/atomic_inc.h
-include/clc/atomic/atomic_max.h
-include/clc/atomic/atomic_min.h
-include/clc/atomic/atomic_or.h
-include/clc/atomic/atomic_sub.h
-include/clc/atomic/atomic_xchg.h
-include/clc/atomic/atomic_xor.h
-include/clc/cl_khr_global_int32_base_atomics/atom_add.h
-include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.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/cl_khr_global_int32_base_atomics/atom_xchg.h
-include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
-include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
-include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
-include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
-include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
-include/clc/cl_khr_int64_base_atomics/atom_add.h
-include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
-include/clc/cl_khr_int64_base_atomics/atom_dec.h
-include/clc/cl_khr_int64_base_atomics/atom_inc.h
-include/clc/cl_khr_int64_base_atomics/atom_sub.h
-include/clc/cl_khr_int64_base_atomics/atom_xchg.h
-include/clc/cl_khr_int64_extended_atomics/atom_and.h
-include/clc/cl_khr_int64_extended_atomics/atom_max.h
-include/clc/cl_khr_int64_extended_atomics/atom_min.h
-include/clc/cl_khr_int64_extended_atomics/atom_or.h
-include/clc/cl_khr_int64_extended_atomics/atom_xor.h
-include/clc/cl_khr_local_int32_base_atomics/atom_add.h
-include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
-include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
-include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
-include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
-include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
-include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
-include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
-include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
-include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
-include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
-include/clc/clc.h
-include/clc/clcfunc.h
-include/clc/clcmacros.h
-include/clc/clctypes.h
-include/clc/common/degrees.h
-include/clc/common/degrees.inc
-include/clc/common/mix.h
-include/clc/common/mix.inc
-include/clc/common/radians.h
-include/clc/common/radians.inc
-include/clc/common/sign.h
-include/clc/common/smoothstep.h
-include/clc/common/smoothstep.inc
-include/clc/common/step.h
-include/clc/common/step.inc
-include/clc/convert.h
-include/clc/explicit_fence/explicit_memory_fence.h
-include/clc/float/definitions.h
-include/clc/geometric/cross.h
-include/clc/geometric/distance.h
-include/clc/geometric/distance.inc
-include/clc/geometric/dot.h
-include/clc/geometric/dot.inc
-include/clc/geometric/fast_distance.h
-include/clc/geometric/fast_distance.inc
-include/clc/geometric/fast_length.h
-include/clc/geometric/fast_length.inc
-include/clc/geometric/fast_normalize.h
-include/clc/geometric/fast_normalize.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/image/image.h
-include/clc/image/image_defines.h
-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/mad_sat.h
-include/clc/integer/mad_sat.inc
-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/popcount.h
-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/unary.inc
-include/clc/integer/upsample.h
-include/clc/math/acos.h
-include/clc/math/acosh.h
-include/clc/math/acospi.h
-include/clc/math/asin.h
-include/clc/math/asinh.h
-include/clc/math/asinpi.h
-include/clc/math/atan.h
-include/clc/math/atan2.h
-include/clc/math/atan2pi.h
-include/clc/math/atanh.h
-include/clc/math/atanpi.h
-include/clc/math/binary_decl.inc
-include/clc/math/binary_decl_tt.inc
-include/clc/math/cbrt.h
-include/clc/math/ceil.h
-include/clc/math/copysign.h
-include/clc/math/cos.h
-include/clc/math/cosh.h
-include/clc/math/cospi.h
-include/clc/math/erf.h
-include/clc/math/erfc.h
-include/clc/math/exp.h
-include/clc/math/exp10.h
-include/clc/math/exp2.h
-include/clc/math/expm1.h
-include/clc/math/fabs.h
-include/clc/math/fdim.h
-include/clc/math/floor.h
-include/clc/math/fma.h
-include/clc/math/fmax.h
-include/clc/math/fmin.h
-include/clc/math/fmod.h
-include/clc/math/fract.h
-include/clc/math/fract.inc
-include/clc/math/frexp.h
-include/clc/math/frexp.inc
-include/clc/math/gentype.inc
-include/clc/math/half_cos.h
-include/clc/math/half_divide.h
-include/clc/math/half_exp.h
-include/clc/math/half_exp10.h
-include/clc/math/half_exp2.h
-include/clc/math/half_log.h
-include/clc/math/half_log10.h
-include/clc/math/half_log2.h
-include/clc/math/half_powr.h
-include/clc/math/half_recip.h
-include/clc/math/half_rsqrt.h
-include/clc/math/half_sin.h
-include/clc/math/half_sqrt.h
-include/clc/math/half_tan.h
-include/clc/math/hypot.h
-include/clc/math/ilogb.h
-include/clc/math/ilogb.inc
-include/clc/math/ldexp.h
-include/clc/math/ldexp.inc
-include/clc/math/lgamma.h
-include/clc/math/lgamma_r.h
-include/clc/math/lgamma_r.inc
-include/clc/math/log.h
-include/clc/math/log10.h
-include/clc/math/log1p.h
-include/clc/math/log2.h
-include/clc/math/logb.h
-include/clc/math/mad.h
-include/clc/math/maxmag.h
-include/clc/math/minmag.h
-include/clc/math/modf.h
-include/clc/math/modf.inc
-include/clc/math/nan.h
-include/clc/math/nan.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_log10.h
-include/clc/math/native_log2.h
-include/clc/math/native_powr.h
-include/clc/math/native_recip.h
-include/clc/math/native_rsqrt.h
-include/clc/math/native_sin.h
-include/clc/math/native_sqrt.h
-include/clc/math/native_tan.h
-include/clc/math/nextafter.h
-include/clc/math/pow.h
-include/clc/math/pown.h
-include/clc/math/pown.inc
-include/clc/math/powr.h
-include/clc/math/remainder.h
-include/clc/math/remquo.h
-include/clc/math/remquo.inc
-include/clc/math/rint.h
-include/clc/math/rootn.h
-include/clc/math/rootn.inc
-include/clc/math/round.h
-include/clc/math/rsqrt.h
-include/clc/math/sin.h
-include/clc/math/sincos.h
-include/clc/math/sincos.inc
-include/clc/math/sinh.h
-include/clc/math/sinpi.h
-include/clc/math/sqrt.h
-include/clc/math/tan.h
-include/clc/math/tanh.h
-include/clc/math/tanpi.h
-include/clc/math/ternary_decl.inc
-include/clc/math/tgamma.h
-include/clc/math/trunc.h
-include/clc/math/unary_decl.inc
-include/clc/misc/shuffle.h
-include/clc/misc/shuffle2.h
-include/clc/relational/all.h
-include/clc/relational/any.h
-include/clc/relational/binary_decl.inc
-include/clc/relational/bitselect.h
-include/clc/relational/bitselect.inc
-include/clc/relational/floatn.inc
-include/clc/relational/isequal.h
-include/clc/relational/isfinite.h
-include/clc/relational/isgreater.h
-include/clc/relational/isgreaterequal.h
-include/clc/relational/isinf.h
-include/clc/relational/isless.h
-include/clc/relational/islessequal.h
-include/clc/relational/islessgreater.h
-include/clc/relational/isnan.h
-include/clc/relational/isnormal.h
-include/clc/relational/isnotequal.h
-include/clc/relational/isordered.h
-include/clc/relational/isunordered.h
-include/clc/relational/select.h
-include/clc/relational/select.inc
-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_offset.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
-include/clc/workitem/get_work_dim.h
-libdata/pkgconfig/libclc.pc
-share/clc/amdgcn--amdhsa.bc
-share/clc/aruba-r600--.bc
-share/clc/barts-r600--.bc
-share/clc/bonaire-amdgcn--.bc
-share/clc/bonaire-amdgcn-mesa-mesa3d.bc
-share/clc/caicos-r600--.bc
-share/clc/carrizo-amdgcn--.bc
-share/clc/carrizo-amdgcn-mesa-mesa3d.bc
-share/clc/cayman-r600--.bc
-share/clc/cedar-r600--.bc
-share/clc/clspv--.bc
-share/clc/clspv64--.bc
-share/clc/cypress-r600--.bc
-share/clc/fiji-amdgcn--.bc
-share/clc/fiji-amdgcn-mesa-mesa3d.bc
-share/clc/gfx900-amdgcn--.bc
-share/clc/gfx900-amdgcn-mesa-mesa3d.bc
-share/clc/gfx902-amdgcn--.bc
-share/clc/gfx902-amdgcn-mesa-mesa3d.bc
-share/clc/gfx904-amdgcn--.bc
-share/clc/gfx904-amdgcn-mesa-mesa3d.bc
-share/clc/gfx906-amdgcn--.bc
-share/clc/gfx906-amdgcn-mesa-mesa3d.bc
-share/clc/hainan-amdgcn--.bc
-share/clc/hainan-amdgcn-mesa-mesa3d.bc
-share/clc/hawaii-amdgcn--.bc
-share/clc/hawaii-amdgcn-mesa-mesa3d.bc
-share/clc/hemlock-r600--.bc
-share/clc/iceland-amdgcn--.bc
-share/clc/iceland-amdgcn-mesa-mesa3d.bc
-share/clc/juniper-r600--.bc
-share/clc/kabini-amdgcn--.bc
-share/clc/kabini-amdgcn-mesa-mesa3d.bc
-share/clc/kaveri-amdgcn--.bc
-share/clc/kaveri-amdgcn-mesa-mesa3d.bc
-share/clc/mullins-amdgcn--.bc
-share/clc/mullins-amdgcn-mesa-mesa3d.bc
-share/clc/nvptx--.bc
-share/clc/nvptx--nvidiacl.bc
-share/clc/nvptx64--.bc
-share/clc/nvptx64--nvidiacl.bc
-share/clc/oland-amdgcn--.bc
-share/clc/oland-amdgcn-mesa-mesa3d.bc
-share/clc/palm-r600--.bc
-share/clc/pitcairn-amdgcn--.bc
-share/clc/pitcairn-amdgcn-mesa-mesa3d.bc
-share/clc/polaris10-amdgcn--.bc
-share/clc/polaris10-amdgcn-mesa-mesa3d.bc
-share/clc/polaris11-amdgcn--.bc
-share/clc/polaris11-amdgcn-mesa-mesa3d.bc
-share/clc/redwood-r600--.bc
-share/clc/spirv-mesa3d-.spv
-share/clc/spirv64-mesa3d-.spv
-share/clc/stoney-amdgcn--.bc
-share/clc/stoney-amdgcn-mesa-mesa3d.bc
-share/clc/sumo-r600--.bc
-share/clc/sumo2-r600--.bc
-share/clc/tahiti-amdgcn--.bc
-share/clc/tahiti-amdgcn-mesa-mesa3d.bc
-share/clc/tonga-amdgcn--.bc
-share/clc/tonga-amdgcn-mesa-mesa3d.bc
-share/clc/turks-r600--.bc
-share/clc/verde-amdgcn--.bc
-share/clc/verde-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/include/clc/as_type.h
+%%LLVM_VERSION%%/include/clc/async/async_work_group_copy.h
+%%LLVM_VERSION%%/include/clc/async/async_work_group_copy.inc
+%%LLVM_VERSION%%/include/clc/async/async_work_group_strided_copy.h
+%%LLVM_VERSION%%/include/clc/async/async_work_group_strided_copy.inc
+%%LLVM_VERSION%%/include/clc/async/gentype.inc
+%%LLVM_VERSION%%/include/clc/async/prefetch.h
+%%LLVM_VERSION%%/include/clc/async/prefetch.inc
+%%LLVM_VERSION%%/include/clc/async/wait_group_events.h
+%%LLVM_VERSION%%/include/clc/atom_decl_int32.inc
+%%LLVM_VERSION%%/include/clc/atom_decl_int64.inc
+%%LLVM_VERSION%%/include/clc/atomic/atomic_add.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_and.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_cmpxchg.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_dec.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_decl.inc
+%%LLVM_VERSION%%/include/clc/atomic/atomic_inc.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_max.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_min.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_or.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_sub.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_xchg.h
+%%LLVM_VERSION%%/include/clc/atomic/atomic_xor.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
+%%LLVM_VERSION%%/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_base_atomics/atom_add.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_base_atomics/atom_dec.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_base_atomics/atom_inc.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_base_atomics/atom_sub.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_extended_atomics/atom_and.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_extended_atomics/atom_max.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_extended_atomics/atom_min.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_extended_atomics/atom_or.h
+%%LLVM_VERSION%%/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
+%%LLVM_VERSION%%/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
+%%LLVM_VERSION%%/include/clc/clc.h
+%%LLVM_VERSION%%/include/clc/clcfunc.h
+%%LLVM_VERSION%%/include/clc/clcmacros.h
+%%LLVM_VERSION%%/include/clc/clctypes.h
+%%LLVM_VERSION%%/include/clc/common/degrees.h
+%%LLVM_VERSION%%/include/clc/common/degrees.inc
+%%LLVM_VERSION%%/include/clc/common/mix.h
+%%LLVM_VERSION%%/include/clc/common/mix.inc
+%%LLVM_VERSION%%/include/clc/common/radians.h
+%%LLVM_VERSION%%/include/clc/common/radians.inc
+%%LLVM_VERSION%%/include/clc/common/sign.h
+%%LLVM_VERSION%%/include/clc/common/smoothstep.h
+%%LLVM_VERSION%%/include/clc/common/smoothstep.inc
+%%LLVM_VERSION%%/include/clc/common/step.h
+%%LLVM_VERSION%%/include/clc/common/step.inc
+%%LLVM_VERSION%%/include/clc/convert.h
+%%LLVM_VERSION%%/include/clc/explicit_fence/explicit_memory_fence.h
+%%LLVM_VERSION%%/include/clc/float/definitions.h
+%%LLVM_VERSION%%/include/clc/geometric/cross.h
+%%LLVM_VERSION%%/include/clc/geometric/distance.h
+%%LLVM_VERSION%%/include/clc/geometric/distance.inc
+%%LLVM_VERSION%%/include/clc/geometric/dot.h
+%%LLVM_VERSION%%/include/clc/geometric/dot.inc
+%%LLVM_VERSION%%/include/clc/geometric/fast_distance.h
+%%LLVM_VERSION%%/include/clc/geometric/fast_distance.inc
+%%LLVM_VERSION%%/include/clc/geometric/fast_length.h
+%%LLVM_VERSION%%/include/clc/geometric/fast_length.inc
+%%LLVM_VERSION%%/include/clc/geometric/fast_normalize.h
+%%LLVM_VERSION%%/include/clc/geometric/fast_normalize.inc
+%%LLVM_VERSION%%/include/clc/geometric/floatn.inc
+%%LLVM_VERSION%%/include/clc/geometric/length.h
+%%LLVM_VERSION%%/include/clc/geometric/length.inc
+%%LLVM_VERSION%%/include/clc/geometric/normalize.h
+%%LLVM_VERSION%%/include/clc/geometric/normalize.inc
+%%LLVM_VERSION%%/include/clc/image/image.h
+%%LLVM_VERSION%%/include/clc/image/image_defines.h
+%%LLVM_VERSION%%/include/clc/integer/abs.h
+%%LLVM_VERSION%%/include/clc/integer/abs.inc
+%%LLVM_VERSION%%/include/clc/integer/abs_diff.h
+%%LLVM_VERSION%%/include/clc/integer/abs_diff.inc
+%%LLVM_VERSION%%/include/clc/integer/add_sat.h
+%%LLVM_VERSION%%/include/clc/integer/add_sat.inc
+%%LLVM_VERSION%%/include/clc/integer/clz.h
+%%LLVM_VERSION%%/include/clc/integer/clz.inc
+%%LLVM_VERSION%%/include/clc/integer/definitions.h
+%%LLVM_VERSION%%/include/clc/integer/gentype.inc
+%%LLVM_VERSION%%/include/clc/integer/hadd.h
+%%LLVM_VERSION%%/include/clc/integer/hadd.inc
+%%LLVM_VERSION%%/include/clc/integer/integer-gentype.inc
+%%LLVM_VERSION%%/include/clc/integer/mad24.h
+%%LLVM_VERSION%%/include/clc/integer/mad24.inc
+%%LLVM_VERSION%%/include/clc/integer/mad_hi.h
+%%LLVM_VERSION%%/include/clc/integer/mad_sat.h
+%%LLVM_VERSION%%/include/clc/integer/mad_sat.inc
+%%LLVM_VERSION%%/include/clc/integer/mul24.h
+%%LLVM_VERSION%%/include/clc/integer/mul24.inc
+%%LLVM_VERSION%%/include/clc/integer/mul_hi.h
+%%LLVM_VERSION%%/include/clc/integer/mul_hi.inc
+%%LLVM_VERSION%%/include/clc/integer/popcount.h
+%%LLVM_VERSION%%/include/clc/integer/rhadd.h
+%%LLVM_VERSION%%/include/clc/integer/rhadd.inc
+%%LLVM_VERSION%%/include/clc/integer/rotate.h
+%%LLVM_VERSION%%/include/clc/integer/rotate.inc
+%%LLVM_VERSION%%/include/clc/integer/sub_sat.h
+%%LLVM_VERSION%%/include/clc/integer/sub_sat.inc
+%%LLVM_VERSION%%/include/clc/integer/unary.inc
+%%LLVM_VERSION%%/include/clc/integer/upsample.h
+%%LLVM_VERSION%%/include/clc/math/acos.h
+%%LLVM_VERSION%%/include/clc/math/acosh.h
+%%LLVM_VERSION%%/include/clc/math/acospi.h
+%%LLVM_VERSION%%/include/clc/math/asin.h
+%%LLVM_VERSION%%/include/clc/math/asinh.h
+%%LLVM_VERSION%%/include/clc/math/asinpi.h
+%%LLVM_VERSION%%/include/clc/math/atan.h
+%%LLVM_VERSION%%/include/clc/math/atan2.h
+%%LLVM_VERSION%%/include/clc/math/atan2pi.h
+%%LLVM_VERSION%%/include/clc/math/atanh.h
+%%LLVM_VERSION%%/include/clc/math/atanpi.h
+%%LLVM_VERSION%%/include/clc/math/binary_decl.inc
+%%LLVM_VERSION%%/include/clc/math/binary_decl_tt.inc
+%%LLVM_VERSION%%/include/clc/math/cbrt.h
+%%LLVM_VERSION%%/include/clc/math/ceil.h
+%%LLVM_VERSION%%/include/clc/math/copysign.h
+%%LLVM_VERSION%%/include/clc/math/cos.h
+%%LLVM_VERSION%%/include/clc/math/cosh.h
+%%LLVM_VERSION%%/include/clc/math/cospi.h
+%%LLVM_VERSION%%/include/clc/math/erf.h
+%%LLVM_VERSION%%/include/clc/math/erfc.h
+%%LLVM_VERSION%%/include/clc/math/exp.h
+%%LLVM_VERSION%%/include/clc/math/exp10.h
+%%LLVM_VERSION%%/include/clc/math/exp2.h
+%%LLVM_VERSION%%/include/clc/math/expm1.h
+%%LLVM_VERSION%%/include/clc/math/fabs.h
+%%LLVM_VERSION%%/include/clc/math/fdim.h
+%%LLVM_VERSION%%/include/clc/math/floor.h
+%%LLVM_VERSION%%/include/clc/math/fma.h
+%%LLVM_VERSION%%/include/clc/math/fmax.h
+%%LLVM_VERSION%%/include/clc/math/fmin.h
+%%LLVM_VERSION%%/include/clc/math/fmod.h
+%%LLVM_VERSION%%/include/clc/math/fract.h
+%%LLVM_VERSION%%/include/clc/math/fract.inc
+%%LLVM_VERSION%%/include/clc/math/frexp.h
+%%LLVM_VERSION%%/include/clc/math/frexp.inc
+%%LLVM_VERSION%%/include/clc/math/gentype.inc
+%%LLVM_VERSION%%/include/clc/math/half_cos.h
+%%LLVM_VERSION%%/include/clc/math/half_divide.h
+%%LLVM_VERSION%%/include/clc/math/half_exp.h
+%%LLVM_VERSION%%/include/clc/math/half_exp10.h
+%%LLVM_VERSION%%/include/clc/math/half_exp2.h
+%%LLVM_VERSION%%/include/clc/math/half_log.h
+%%LLVM_VERSION%%/include/clc/math/half_log10.h
+%%LLVM_VERSION%%/include/clc/math/half_log2.h
+%%LLVM_VERSION%%/include/clc/math/half_powr.h
+%%LLVM_VERSION%%/include/clc/math/half_recip.h
+%%LLVM_VERSION%%/include/clc/math/half_rsqrt.h
+%%LLVM_VERSION%%/include/clc/math/half_sin.h
+%%LLVM_VERSION%%/include/clc/math/half_sqrt.h
+%%LLVM_VERSION%%/include/clc/math/half_tan.h
+%%LLVM_VERSION%%/include/clc/math/hypot.h
+%%LLVM_VERSION%%/include/clc/math/ilogb.h
+%%LLVM_VERSION%%/include/clc/math/ilogb.inc
+%%LLVM_VERSION%%/include/clc/math/ldexp.h
+%%LLVM_VERSION%%/include/clc/math/ldexp.inc
+%%LLVM_VERSION%%/include/clc/math/lgamma.h
+%%LLVM_VERSION%%/include/clc/math/lgamma_r.h
+%%LLVM_VERSION%%/include/clc/math/lgamma_r.inc
+%%LLVM_VERSION%%/include/clc/math/log.h
+%%LLVM_VERSION%%/include/clc/math/log10.h
+%%LLVM_VERSION%%/include/clc/math/log1p.h
+%%LLVM_VERSION%%/include/clc/math/log2.h
+%%LLVM_VERSION%%/include/clc/math/logb.h
+%%LLVM_VERSION%%/include/clc/math/mad.h
+%%LLVM_VERSION%%/include/clc/math/maxmag.h
+%%LLVM_VERSION%%/include/clc/math/minmag.h
+%%LLVM_VERSION%%/include/clc/math/modf.h
+%%LLVM_VERSION%%/include/clc/math/modf.inc
+%%LLVM_VERSION%%/include/clc/math/nan.h
+%%LLVM_VERSION%%/include/clc/math/nan.inc
+%%LLVM_VERSION%%/include/clc/math/native_cos.h
+%%LLVM_VERSION%%/include/clc/math/native_divide.h
+%%LLVM_VERSION%%/include/clc/math/native_exp.h
+%%LLVM_VERSION%%/include/clc/math/native_exp10.h
+%%LLVM_VERSION%%/include/clc/math/native_exp2.h
+%%LLVM_VERSION%%/include/clc/math/native_log.h
+%%LLVM_VERSION%%/include/clc/math/native_log10.h
+%%LLVM_VERSION%%/include/clc/math/native_log2.h
+%%LLVM_VERSION%%/include/clc/math/native_powr.h
+%%LLVM_VERSION%%/include/clc/math/native_recip.h
+%%LLVM_VERSION%%/include/clc/math/native_rsqrt.h
+%%LLVM_VERSION%%/include/clc/math/native_sin.h
+%%LLVM_VERSION%%/include/clc/math/native_sqrt.h
+%%LLVM_VERSION%%/include/clc/math/native_tan.h
+%%LLVM_VERSION%%/include/clc/math/nextafter.h
+%%LLVM_VERSION%%/include/clc/math/pow.h
+%%LLVM_VERSION%%/include/clc/math/pown.h
+%%LLVM_VERSION%%/include/clc/math/pown.inc
+%%LLVM_VERSION%%/include/clc/math/powr.h
+%%LLVM_VERSION%%/include/clc/math/remainder.h
+%%LLVM_VERSION%%/include/clc/math/remquo.h
+%%LLVM_VERSION%%/include/clc/math/remquo.inc
+%%LLVM_VERSION%%/include/clc/math/rint.h
+%%LLVM_VERSION%%/include/clc/math/rootn.h
+%%LLVM_VERSION%%/include/clc/math/rootn.inc
+%%LLVM_VERSION%%/include/clc/math/round.h
+%%LLVM_VERSION%%/include/clc/math/rsqrt.h
+%%LLVM_VERSION%%/include/clc/math/sin.h
+%%LLVM_VERSION%%/include/clc/math/sincos.h
+%%LLVM_VERSION%%/include/clc/math/sincos.inc
+%%LLVM_VERSION%%/include/clc/math/sinh.h
+%%LLVM_VERSION%%/include/clc/math/sinpi.h
+%%LLVM_VERSION%%/include/clc/math/sqrt.h
+%%LLVM_VERSION%%/include/clc/math/tan.h
+%%LLVM_VERSION%%/include/clc/math/tanh.h
+%%LLVM_VERSION%%/include/clc/math/tanpi.h
+%%LLVM_VERSION%%/include/clc/math/ternary_decl.inc
+%%LLVM_VERSION%%/include/clc/math/tgamma.h
+%%LLVM_VERSION%%/include/clc/math/trunc.h
+%%LLVM_VERSION%%/include/clc/math/unary_decl.inc
+%%LLVM_VERSION%%/include/clc/misc/shuffle.h
+%%LLVM_VERSION%%/include/clc/misc/shuffle2.h
+%%LLVM_VERSION%%/include/clc/relational/all.h
+%%LLVM_VERSION%%/include/clc/relational/any.h
+%%LLVM_VERSION%%/include/clc/relational/binary_decl.inc
+%%LLVM_VERSION%%/include/clc/relational/bitselect.h
+%%LLVM_VERSION%%/include/clc/relational/bitselect.inc
+%%LLVM_VERSION%%/include/clc/relational/floatn.inc
+%%LLVM_VERSION%%/include/clc/relational/isequal.h
+%%LLVM_VERSION%%/include/clc/relational/isfinite.h
+%%LLVM_VERSION%%/include/clc/relational/isgreater.h
+%%LLVM_VERSION%%/include/clc/relational/isgreaterequal.h
+%%LLVM_VERSION%%/include/clc/relational/isinf.h
+%%LLVM_VERSION%%/include/clc/relational/isless.h
+%%LLVM_VERSION%%/include/clc/relational/islessequal.h
+%%LLVM_VERSION%%/include/clc/relational/islessgreater.h
+%%LLVM_VERSION%%/include/clc/relational/isnan.h
+%%LLVM_VERSION%%/include/clc/relational/isnormal.h
+%%LLVM_VERSION%%/include/clc/relational/isnotequal.h
+%%LLVM_VERSION%%/include/clc/relational/isordered.h
+%%LLVM_VERSION%%/include/clc/relational/isunordered.h
+%%LLVM_VERSION%%/include/clc/relational/select.h
+%%LLVM_VERSION%%/include/clc/relational/select.inc
+%%LLVM_VERSION%%/include/clc/relational/signbit.h
+%%LLVM_VERSION%%/include/clc/relational/unary_decl.inc
+%%LLVM_VERSION%%/include/clc/shared/clamp.h
+%%LLVM_VERSION%%/include/clc/shared/clamp.inc
+%%LLVM_VERSION%%/include/clc/shared/max.h
+%%LLVM_VERSION%%/include/clc/shared/max.inc
+%%LLVM_VERSION%%/include/clc/shared/min.h
+%%LLVM_VERSION%%/include/clc/shared/min.inc
+%%LLVM_VERSION%%/include/clc/shared/vload.h
+%%LLVM_VERSION%%/include/clc/shared/vstore.h
+%%LLVM_VERSION%%/include/clc/synchronization/barrier.h
+%%LLVM_VERSION%%/include/clc/synchronization/cl_mem_fence_flags.h
+%%LLVM_VERSION%%/include/clc/workitem/get_global_id.h
+%%LLVM_VERSION%%/include/clc/workitem/get_global_offset.h
+%%LLVM_VERSION%%/include/clc/workitem/get_global_size.h
+%%LLVM_VERSION%%/include/clc/workitem/get_group_id.h
+%%LLVM_VERSION%%/include/clc/workitem/get_local_id.h
+%%LLVM_VERSION%%/include/clc/workitem/get_local_size.h
+%%LLVM_VERSION%%/include/clc/workitem/get_num_groups.h
+%%LLVM_VERSION%%/include/clc/workitem/get_work_dim.h
+%%LLVM_VERSION%%/libdata/pkgconfig/libclc.pc
+%%LLVM_VERSION%%/share/clc/amdgcn--amdhsa.bc
+%%LLVM_VERSION%%/share/clc/aruba-r600--.bc
+%%LLVM_VERSION%%/share/clc/barts-r600--.bc
+%%LLVM_VERSION%%/share/clc/bonaire-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/bonaire-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/caicos-r600--.bc
+%%LLVM_VERSION%%/share/clc/carrizo-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/carrizo-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/cayman-r600--.bc
+%%LLVM_VERSION%%/share/clc/cedar-r600--.bc
+%%LLVM_VERSION%%/share/clc/clspv--.bc
+%%LLVM_VERSION%%/share/clc/clspv64--.bc
+%%LLVM_VERSION%%/share/clc/cypress-r600--.bc
+%%LLVM_VERSION%%/share/clc/fiji-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/fiji-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/gfx900-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/gfx900-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/gfx902-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/gfx902-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/gfx904-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/gfx904-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/gfx906-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/gfx906-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/hainan-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/hainan-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/hawaii-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/hawaii-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/hemlock-r600--.bc
+%%LLVM_VERSION%%/share/clc/iceland-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/iceland-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/juniper-r600--.bc
+%%LLVM_VERSION%%/share/clc/kabini-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/kabini-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/kaveri-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/kaveri-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/mullins-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/mullins-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/nvptx--.bc
+%%LLVM_VERSION%%/share/clc/nvptx--nvidiacl.bc
+%%LLVM_VERSION%%/share/clc/nvptx64--.bc
+%%LLVM_VERSION%%/share/clc/nvptx64--nvidiacl.bc
+%%LLVM_VERSION%%/share/clc/oland-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/oland-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/palm-r600--.bc
+%%LLVM_VERSION%%/share/clc/pitcairn-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/pitcairn-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/polaris10-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/polaris10-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/polaris11-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/polaris11-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/redwood-r600--.bc
+%%LLVM_VERSION%%/share/clc/spirv-mesa3d-.spv
+%%LLVM_VERSION%%/share/clc/spirv64-mesa3d-.spv
+%%LLVM_VERSION%%/share/clc/stoney-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/stoney-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/sumo-r600--.bc
+%%LLVM_VERSION%%/share/clc/sumo2-r600--.bc
+%%LLVM_VERSION%%/share/clc/tahiti-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/tahiti-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/tonga-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/tonga-amdgcn-mesa-mesa3d.bc
+%%LLVM_VERSION%%/share/clc/turks-r600--.bc
+%%LLVM_VERSION%%/share/clc/verde-amdgcn--.bc
+%%LLVM_VERSION%%/share/clc/verde-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1010-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1010-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1011-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1011-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1012-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1012-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1013-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1013-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1030-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1030-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1031-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1031-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1032-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1032-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1033-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1033-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1034-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1034-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1035-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1035-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1036-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1036-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1100-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1100-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1101-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1101-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1102-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1102-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1103-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1103-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1150-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1150-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1151-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1151-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1200-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1200-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1201-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx1201-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx602-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx602-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx705-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx705-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx805-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx805-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx908-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx908-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx909-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx909-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx90a-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx90a-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx90c-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx90c-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx940-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx940-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx941-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx941-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx942-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/gfx942-amdgcn-mesa-mesa3d.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/tongapro-amdgcn--.bc
+%%LLVM18%%%%LLVM_VERSION%%/share/clc/tongapro-amdgcn-mesa-mesa3d.bc
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index b5eb30829485..cbacf3066d6a 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -107,11 +107,11 @@ LTO_MESON_TRUE=		b_lto
 
 OPENCL_DESC=		Heterogeneous computing via OpenCL (implies LLVM)
 OPENCL_BUILD_DEPENDS=	bindgen:devel/rust-bindgen-cli \
-			libclc>0:devel/libclc \
+			libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \
 			spirv-tools>0:graphics/spirv-tools \
 			rustc:lang/${RUST_DEFAULT}
 OPENCL_LIB_DEPENDS=	libLLVMSPIRVLib.so.${OPENCL_SOVERSION}:devel/spirv-llvm-translator@${LLVM_PORT:T}
-OPENCL_RUN_DEPENDS=	libclc>0:devel/libclc
+OPENCL_RUN_DEPENDS=	libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T}
 OPENCL_SOVERSION=	${LLVM_VERSION}${${LLVM_VERSION}>=18:?.1:}
 OPENCL_CONFIGURE_ENV=	PKG_CONFIG_PATH="${LLVM_PREFIX}/libdata/pkgconfig"
 OPENCL_MESON_FALSE=	b_lundef # environ
diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile
index 1202d3f4ee5c..30fc7e3e22dd 100644
--- a/graphics/mesa-dri/Makefile
+++ b/graphics/mesa-dri/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	mesa-dri
 PORTVERSION=	${MESAVERSION}
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 COMMENT=	OpenGL hardware acceleration drivers for DRI2+
@@ -31,7 +32,7 @@ GALLIUM_DESC=		Unified OpenGL drivers
 crocus_DESC=		Intel GPU Gen4 (Broadwater) to Gen7 (Haswell)
 i915_DESC=		Intel GPU Gen3 (Grantsdale to Pineview)
 iris_DESC=		Intel GPU Gen8 (Broadwell) and newer
-iris_BUILD_DEPENDS=	libclc>0:devel/libclc \
+iris_BUILD_DEPENDS=	libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \
 			spirv-tools>0:graphics/spirv-tools \
 			spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T}
 iris_RUN_DEPENDS=	spirv-tools>0:graphics/spirv-tools \
@@ -59,7 +60,7 @@ OPTIONS_GROUP_VULKAN=	anv radv swrast_vk
 VULKAN_DESC=		Vulkan drivers
 anv_DESC=		Intel GPU Gen9 and newer Vulkan support
 anv_BUILD_DEPENDS=	glslangValidator:graphics/glslang \
-			libclc>0:devel/libclc \
+			libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \
 			spirv-tools>0:graphics/spirv-tools \
 			spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T}
 anv_RUN_DEPENDS=	spirv-tools>0:graphics/spirv-tools \
diff --git a/lang/clover/Makefile b/lang/clover/Makefile
index fd68336056f7..b197e2fd7537 100644
--- a/lang/clover/Makefile
+++ b/lang/clover/Makefile
@@ -11,13 +11,13 @@ LICENSE_FILE=	${WRKSRC}/docs/license.rst
 ONLY_FOR_ARCHS=	aarch64 amd64 i386 powerpc64 powerpc64le
 ONLY_FOR_ARCHS_REASON=	needs a GPU supported by the AMDGPU KMS driver
 
-BUILD_DEPENDS=	libclc>=0.3.0:devel/libclc \
+BUILD_DEPENDS=	libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \
 		spirv-tools>=0:graphics/spirv-tools \
 		opencl>=0:devel/opencl
 LIB_DEPENDS=	libOpenCL.so:devel/ocl-icd \
 		libLLVMSPIRVLib.so.${LLVM_VERSION}:devel/spirv-llvm-translator@${LLVM_PORT:T} \
 		libzstd.so:archivers/zstd
-RUN_DEPENDS=	libclc>=0.3.0:devel/libclc \
+RUN_DEPENDS=	libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \
 		opencl>=0:devel/opencl
 
 USES=		llvm:lib,max=16,noexport