commit: 9956e0b95b641d60cf895b9f0607a218aba3d0ac
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 19 08:55:47 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Apr 20 11:42:51 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9956e0b9
llvm-runtimes/offload: 21.x now requires CXX=clang++ for deviceRTL
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
llvm-runtimes/offload/metadata.xml | 4 +++
llvm-runtimes/offload/offload-21.0.0.9999.ebuild | 35 +++++++++++++-----------
2 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/llvm-runtimes/offload/metadata.xml
b/llvm-runtimes/offload/metadata.xml
index d13785bbe1b6..dcd9114d8dc8 100644
--- a/llvm-runtimes/offload/metadata.xml
+++ b/llvm-runtimes/offload/metadata.xml
@@ -5,6 +5,10 @@
<email>[email protected]</email>
</maintainer>
<use>
+ <flag name="clang">
+ Force building using installed clang (rather than
+ the default CC/CXX).
+ </flag>
<flag name="ompt">Enable OpenMP Tools Interface support</flag>
</use>
<upstream>
diff --git a/llvm-runtimes/offload/offload-21.0.0.9999.ebuild
b/llvm-runtimes/offload/offload-21.0.0.9999.ebuild
index 1c79940848bd..57e770784ba8 100644
--- a/llvm-runtimes/offload/offload-21.0.0.9999.ebuild
+++ b/llvm-runtimes/offload/offload-21.0.0.9999.ebuild
@@ -4,14 +4,19 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake llvm.org python-any-r1 toolchain-funcs
+inherit cmake crossdev flag-o-matic llvm.org python-any-r1
+inherit toolchain-funcs
DESCRIPTION="OpenMP offloading support"
HOMEPAGE="https://openmp.llvm.org"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0/${LLVM_SOABI}"
-IUSE="+debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX"
+IUSE="+clang +debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX"
+REQUIRED_USE="
+ llvm_targets_AMDGPU? ( clang )
+ llvm_targets_NVPTX? ( clang )
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -30,6 +35,7 @@ DEPEND="
BDEPEND="
dev-lang/perl
virtual/pkgconfig
+ clang? ( llvm-core/clang )
llvm_targets_AMDGPU? ( llvm-core/clang[llvm_targets_AMDGPU] )
llvm_targets_NVPTX? ( llvm-core/clang[llvm_targets_NVPTX] )
test? (
@@ -63,6 +69,17 @@ pkg_setup() {
}
src_configure() {
+ if use clang && ! is_crosspkg; then
+ # Only do this conditionally to allow overriding with
+ # e.g. CC=clang-13 in case of breakage
+ if ! tc-is-clang ; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ fi
+
+ strip-unsupported-flags
+ fi
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
@@ -115,11 +132,6 @@ src_configure() {
)
cmake_src_configure
-
- if [[ ${build_devicertl} == FALSE ]]; then
- # clang requires libomptarget.devicertl.a, but it can be empty
- > "${BUILD_DIR}"/libomptarget.devicertl.a || die
- fi
}
src_test() {
@@ -128,12 +140,3 @@ src_test() {
cmake_build check-offload
}
-
-src_install() {
- cmake_src_install
-
- if [[ ! -f ${ED}/usr/$(get_libdir)/libomptarget.devicertl.a ]]
- then
- dolib.a "${BUILD_DIR}"/libomptarget.devicertl.a
- fi
-}