mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-16 14:29:05 -07:00
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:
committed by
Alfredo Tupone
parent
8763d35923
commit
d86637311c
@@ -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+=(
|
||||
|
||||
@@ -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+=(
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user