diff --git a/llvm-runtimes/offload/metadata.xml b/llvm-runtimes/offload/metadata.xml
index d13785bbe1b61..dcd9114d8dc89 100644
--- a/llvm-runtimes/offload/metadata.xml
+++ b/llvm-runtimes/offload/metadata.xml
@@ -5,6 +5,10 @@
llvm@gentoo.org
diff --git a/llvm-runtimes/offload/offload-21.0.0.9999.ebuild b/llvm-runtimes/offload/offload-21.0.0.9999.ebuild
index 1c79940848bd9..57e770784ba80 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
-}