dev-cpp/eigen: migrate -*9999 to llvm-r2

Replace USE=clang with USE=clang-cuda to make clear we are using clang to
compile cuda code.

Bug: https://bugs.gentoo.org/945341
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44994
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
This commit is contained in:
Paul Zander
2024-09-30 17:31:54 +02:00
committed by Alfredo Tupone
parent 8763d35923
commit d86637311c
5 changed files with 38 additions and 20 deletions

View File

@@ -3,8 +3,9 @@
EAPI=8
LLVM_COMPAT=( {19..21} )
FORTRAN_NEEDED="test"
inherit cmake cuda fortran-2 llvm toolchain-funcs
inherit cmake cuda fortran-2 llvm-r2 toolchain-funcs
DESCRIPTION="C++ template library for linear algebra"
HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
@@ -80,15 +81,14 @@ IUSE_TEST_BACKENDS=(
"umfpack"
)
IUSE="${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
IUSE="${CPU_FEATURES_MAP[*]%:*} clang-cuda cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
REQUIRED_USE="
test? ( !lapack )
|| ( ${IUSE_TEST_BACKENDS[*]} )
"
# Tests failing again because of compiler issues; bugs #932646, #943401
RESTRICT="test !test? ( test )"
RESTRICT="!test? ( test )"
BDEPEND="
doc? (
@@ -133,12 +133,13 @@ TEST_BACKENDS="
DEPEND="
test? (
cuda? (
!clang? (
!clang-cuda? (
dev-util/nvidia-cuda-toolkit
)
clang? (
llvm-core/clang[llvm_targets_NVPTX]
openmp? ( llvm-runtimes/openmp[llvm_targets_NVPTX,offload] )
clang-cuda? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}[llvm_targets_NVPTX]
')
)
)
hip? ( dev-util/hip )
@@ -189,7 +190,7 @@ cuda_set_CUDAHOSTCXX() {
}
pkg_setup() {
use test && use cuda && use clang && llvm_pkg_setup
use test && use cuda && use clang-cuda && llvm-r2_pkg_setup
}
src_unpack() {
@@ -355,7 +356,7 @@ src_configure() {
mycmakeargs+=(
-DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
-DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # Use clang instead of nvcc to compile the CUDA tests
-DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang-cuda)")" # Use clang instead of nvcc to compile the CUDA tests
-DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
@@ -365,12 +366,15 @@ src_configure() {
if use cuda; then
cuda_add_sandbox -w
if use clang; then
if use clang-cuda; then
local llvm_prefix
llvm_prefix="$(get_llvm_prefix -b)"
export CC="${llvm_prefix}/bin/clang"
export CXX="${llvm_prefix}/bin/clang++"
export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)"
mycmakeargs+=(
-DCUDA_HOST_COMPILER="${llvm_prefix}/bin/clang++"
)
else
cuda_set_CUDAHOSTCXX
mycmakeargs+=(

View File

@@ -3,8 +3,9 @@
EAPI=8
LLVM_COMPAT=( {19..21} )
FORTRAN_NEEDED="test"
inherit cmake cuda fortran-2 llvm toolchain-funcs
inherit cmake cuda fortran-2 llvm-r2 toolchain-funcs
DESCRIPTION="C++ template library for linear algebra"
HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
@@ -80,7 +81,7 @@ IUSE_TEST_BACKENDS=(
"umfpack"
)
IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang-cuda cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
REQUIRED_USE="
|| ( ${IUSE_TEST_BACKENDS[*]} )
@@ -132,12 +133,13 @@ TEST_BACKENDS="
DEPEND="
test? (
cuda? (
!clang? (
!clang-cuda? (
dev-util/nvidia-cuda-toolkit
)
clang? (
llvm-core/clang[llvm_targets_NVPTX]
openmp? ( llvm-runtimes/openmp[llvm_targets_NVPTX,offload] )
clang-cuda? (
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}[llvm_targets_NVPTX]
')
)
)
hip? ( dev-util/hip )
@@ -185,7 +187,7 @@ cuda_set_CUDAHOSTCXX() {
}
pkg_setup() {
use test && use cuda && use clang && llvm_pkg_setup
use test && use cuda && use clang-cuda && llvm-r2_pkg_setup
}
src_unpack() {
@@ -350,7 +352,7 @@ src_configure() {
mycmakeargs+=(
-DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
-DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" # Use clang instead of nvcc to compile the CUDA tests
-DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang-cuda)")" # Use clang instead of nvcc to compile the CUDA tests
-DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
@@ -360,12 +362,15 @@ src_configure() {
if use cuda; then
cuda_add_sandbox -w
if use clang; then
if use clang-cuda; then
local llvm_prefix
llvm_prefix="$(get_llvm_prefix -b)"
export CC="${llvm_prefix}/bin/clang"
export CXX="${llvm_prefix}/bin/clang++"
export LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)"
mycmakeargs+=(
-DCUDA_HOST_COMPILER="${llvm_prefix}/bin/clang++"
)
else
cuda_set_CUDAHOSTCXX
mycmakeargs+=(

View File

@@ -19,6 +19,7 @@
<use>
<flag name="benchmark">Build benchmark suite</flag>
<flag name="clang">Use clang for cuda units compilation</flag>
<flag name="clang-cuda">Use clang for cuda units compilation</flag>
<flag name="hip">Enable HIP GPU computing support</flag>
<flag name="adolc">Add test support for Adolc (<pkg>sci-libs/adolc</pkg>)</flag>
<flag name="boost">Add test support for Boost.Multiprecision (<pkg>dev-libs/boost</pkg>)</flag>