mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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:
@@ -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>
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user