summaryrefslogtreecommitdiff
path: root/dev-libs/libclc/libclc-16.0.5.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-03 09:30:56 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-03 09:30:56 +0100
commit9f322d80b846d0000268f94422b74c28979e4adf (patch)
tree7d0526672ae719056f1d302b68cde18c11fc3ab3 /dev-libs/libclc/libclc-16.0.5.ebuild
parenteaef2dddc42323859c2525b466b380620534c051 (diff)
gentoo auto-resync : 03:06:2023 - 09:30:55
Diffstat (limited to 'dev-libs/libclc/libclc-16.0.5.ebuild')
-rw-r--r--dev-libs/libclc/libclc-16.0.5.ebuild84
1 files changed, 84 insertions, 0 deletions
diff --git a/dev-libs/libclc/libclc-16.0.5.ebuild b/dev-libs/libclc/libclc-16.0.5.ebuild
new file mode 100644
index 000000000000..da4aa04415e5
--- /dev/null
+++ b/dev-libs/libclc/libclc-16.0.5.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+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"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+LLVM_MAX_SLOT=16
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ (
+ 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
+}