summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-01-24 06:44:35 +0100
committerMichał Górny <mgorny@gentoo.org>2024-01-24 07:32:57 +0100
commitd0497a8e989a078195993f29822ca43ee442345c (patch)
treed6cde36798e53f735025bf173e4093522113e3e5 /dev-libs/libclc
parentsys-devel/clang-runtime: Add 19.x live ebuild (diff)
downloadgentoo-d0497a8e989a078195993f29822ca43ee442345c.tar.gz
gentoo-d0497a8e989a078195993f29822ca43ee442345c.tar.bz2
gentoo-d0497a8e989a078195993f29822ca43ee442345c.zip
dev-libs/libclc: Add 19.x live ebuild
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-libs/libclc')
-rw-r--r--dev-libs/libclc/libclc-19.0.0.9999.ebuild87
1 files changed, 87 insertions, 0 deletions
diff --git a/dev-libs/libclc/libclc-19.0.0.9999.ebuild b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
new file mode 100644
index 000000000000..70dacd0cf8da
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+LLVM_MAX_SLOT=17
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:17
+ spirv? ( dev-util/spirv-llvm-translator:17 )
+ )
+ (
+ sys-devel/clang:16
+ spirv? ( dev-util/spirv-llvm-translator:16 )
+ )
+ (
+ sys-devel/clang:15
+ spirv? ( dev-util/spirv-llvm-translator:15 )
+ )
+ (
+ sys-devel/clang:14
+ spirv? ( dev-util/spirv-llvm-translator:14 )
+ )
+ (
+ sys-devel/clang:13
+ spirv? ( dev-util/spirv-llvm-translator:13 )
+ )
+ )
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+llvm_check_deps() {
+ if use spirv; then
+ has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
+ return 1
+ fi
+ has_version -b "sys-devel/clang:${LLVM_SLOT}"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}