summaryrefslogtreecommitdiff
path: root/dev-cpp/eigen/eigen-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/eigen/eigen-9999.ebuild')
-rw-r--r--dev-cpp/eigen/eigen-9999.ebuild61
1 files changed, 42 insertions, 19 deletions
diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild
index 6e17f2f00d02..219f6dba7d1c 100644
--- a/dev-cpp/eigen/eigen-9999.ebuild
+++ b/dev-cpp/eigen/eigen-9999.ebuild
@@ -58,11 +58,11 @@ X86_CPU_FEATURES=(
# )
CPU_FEATURES_MAP=(
- ${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}
- ${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}
- ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}
- # ${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}
- # ${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}
+ "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
+ "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
+ "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
+ # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
+ # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
)
IUSE_TEST_BACKENDS=(
@@ -80,7 +80,7 @@ IUSE_TEST_BACKENDS=(
"umfpack"
)
-IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack test ${IUSE_TEST_BACKENDS[*]}" #zvector
+IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
# Tests failing again because of compiler issues
RESTRICT="!test? ( test )"
@@ -93,6 +93,7 @@ BDEPEND="
dev-texlive/texlive-fontutils
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
+ mathjax? ( dev-libs/mathjax )
)
test? ( virtual/pkgconfig )
"
@@ -183,6 +184,10 @@ cuda_set_CUDAHOSTCXX() {
export CUDAHOSTCXX
}
+pkg_setup() {
+ use test && use cuda && use clang && llvm_pkg_setup
+}
+
src_unpack() {
if [[ ${PV} = *9999* ]] ; then
git-r3_src_unpack
@@ -199,21 +204,45 @@ src_unpack() {
src_prepare() {
cmake_src_prepare
- cmake_comment_add_subdirectory demos
+ sed \
+ -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \
+ -i CMakeLists.txt || die
if ! use test; then
- sed -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
+ sed \
+ -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \
+ -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
-e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
-i CMakeLists.txt || die
fi
-
}
src_configure() {
local mycmakeargs=(
- -DEIGEN_BUILD_BTL="$(usex benchmark)"
+ -DBUILD_SHARED_LIBS="yes"
+ -DBUILD_TESTING="$(usex test)"
+
+ -DEIGEN_BUILD_BTL="$(usex benchmark)" # Build benchmark suite
+ -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
+ -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
)
+ if use doc || use test; then
+ mycmakeargs+=(
+ # needs Qt4
+ -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
+ )
+ fi
+
+ if use doc; then
+ mycmakeargs+=(
+ -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
+ -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
+ )
+ fi
+
if use test; then
mycmakeargs+=(
# the OpenGL testsuite is extremely brittle, bug #712808
@@ -221,9 +250,6 @@ src_configure() {
-DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
-DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
- # needs Qt4
- -DEIGEN_TEST_NOQT=yes # Disable Qt support in unit tests
-
-DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON
# -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests.
@@ -232,11 +258,6 @@ src_configure() {
# -DEIGEN_BUILD_BTL=yes # Build benchmark suite
- # -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
- # -DEIGEN_BUILD_DOC=yes # Enable creation of Eigen documentation
- # -DEIGEN_BUILD_PKGCONFIG=yes # Build pkg-config .pc file for Eigen
- # -DEIGEN_DOC_USE_MATHJAX=yes # Use MathJax for rendering math in HTML docs
-
-DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation
# -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov
@@ -339,12 +360,12 @@ src_configure() {
if use cuda; then
cuda_add_sandbox -w
- export CUDAFLAGS="${NVCCFLAGS}"
if use clang; 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)"
else
cuda_set_CUDAHOSTCXX
mycmakeargs+=(
@@ -358,6 +379,8 @@ src_configure() {
NVCCFLAGS+=" -v"
fi
+ export CUDAFLAGS="${NVCCFLAGS}"
+
[[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS"
: "${CUDAARCHS:=$(__nvcc_device_query)}"
export CUDAARCHS