commit: ce3d65e1b44bb998f85628b3ee83fe028f4e7d32
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 31 15:25:38 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 31 15:29:41 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce3d65e1
dev-lang/ispc: Add GPU support
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-lang/ispc/ispc-1.22.0-r1.ebuild | 12 +++++++++++-
dev-lang/ispc/metadata.xml | 3 +++
profiles/arch/amd64/package.use.mask | 4 ++++
profiles/arch/base/package.use.mask | 4 ++++
profiles/features/musl/package.use.mask | 4 ++++
5 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/dev-lang/ispc/ispc-1.22.0-r1.ebuild
b/dev-lang/ispc/ispc-1.22.0-r1.ebuild
index 7b18a7303e8a..d05fa1f7195e 100644
--- a/dev-lang/ispc/ispc-1.22.0-r1.ebuild
+++ b/dev-lang/ispc/ispc-1.22.0-r1.ebuild
@@ -21,12 +21,13 @@ SRC_URI="
LICENSE="BSD BSD-2 UoI-NCSA"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="examples openmp test"
+IUSE="examples gpu openmp test"
RESTRICT="!test? ( test )"
DEPEND="
<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
sys-libs/ncurses:=
+ gpu? ( dev-libs/level-zero:= )
!openmp? ( dev-cpp/tbb:= )
"
RDEPEND="
@@ -57,6 +58,14 @@ src_prepare() {
sed -i -e 's:set(target_arch "i686"):return():'
cmake/GenerateBuiltins.cmake || die
fi
+ # do not require bundled gtest
+ mkdir -p ispcrt/tests/vendor/google/googletest || die
+ cat > ispcrt/tests/vendor/google/googletest/CMakeLists.txt <<-EOF || die
+ find_package(GTest)
+ EOF
+ # remove hacks that break unbundling
+ sed -i -e '/gmock/d' -e '/install/,$d' ispcrt/tests/CMakeLists.txt ||
die
+
cmake_src_prepare
}
@@ -67,6 +76,7 @@ src_configure() {
-DISPC_INCLUDE_EXAMPLES=OFF
-DISPC_INCLUDE_TESTS=$(usex test)
-DISPC_INCLUDE_UTILS=OFF
+ -DISPCRT_BUILD_GPU=$(usex gpu)
-DISPCRT_BUILD_TASK_MODEL=$(usex openmp OpenMP TBB)
)
cmake_src_configure
diff --git a/dev-lang/ispc/metadata.xml b/dev-lang/ispc/metadata.xml
index eb96ff15c20a..1ac64e1abb82 100644
--- a/dev-lang/ispc/metadata.xml
+++ b/dev-lang/ispc/metadata.xml
@@ -9,6 +9,9 @@
<remote-id type="github">ispc/ispc</remote-id>
</upstream>
<use>
+ <flag name="gpu">
+ Enable Level0 GPU support in ispcrt.
+ </flag>
<flag name="openmp">
Build with OpenMP task model (otherwise, TBB task model
is used).
</flag>
diff --git a/profiles/arch/amd64/package.use.mask
b/profiles/arch/amd64/package.use.mask
index 9d39b1452131..1a2f77a0990a 100644
--- a/profiles/arch/amd64/package.use.mask
+++ b/profiles/arch/amd64/package.use.mask
@@ -17,6 +17,10 @@
#--- END OF EXAMPLES ---
+# Michał Górny <[email protected]> (2023-12-31)
+# Requires dev-libs/level-zero.
+dev-lang/ispc -gpu
+
# Andrew Ammerlaan <[email protected]> (2023-12-18)
# Experimental and only available on a subset of architectures
sys-kernel/gentoo-kernel -generic-uki
diff --git a/profiles/arch/base/package.use.mask
b/profiles/arch/base/package.use.mask
index bf4429181727..65c07619a41a 100644
--- a/profiles/arch/base/package.use.mask
+++ b/profiles/arch/base/package.use.mask
@@ -1,6 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Michał Górny <[email protected]> (2023-12-31)
+# Requires dev-libs/level-zero.
+dev-lang/ispc gpu
+
# Andrew Ammerlaan <[email protected]> (2023-12-18)
# Experimental and only available on a subset of architectures
sys-kernel/gentoo-kernel generic-uki
diff --git a/profiles/features/musl/package.use.mask
b/profiles/features/musl/package.use.mask
index 7e616368e822..c9b7d23aaca6 100644
--- a/profiles/features/musl/package.use.mask
+++ b/profiles/features/musl/package.use.mask
@@ -1,6 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Michał Górny <[email protected]> (2023-12-31)
+# Requires dev-libs/level-zero.
+dev-lang/ispc gpu
+
# Andrew Ammerlaan <[email protected]> (2023-12-18)
# Requires systemd
sys-kernel/gentoo-kernel generic-uki