llvm-runtimes/offload: 21.x now requires CXX=clang++ for deviceRTL

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2025-04-19 10:55:47 +02:00
parent 993a481729
commit 9956e0b95b
2 changed files with 23 additions and 16 deletions

View File

@@ -5,6 +5,10 @@
<email>llvm@gentoo.org</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>

View File

@@ -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
}