diff options
author | Alessandro Barbieri <lssndrbarbieri@gmail.com> | 2022-06-10 00:46:34 +0200 |
---|---|---|
committer | Alessandro Barbieri <lssndrbarbieri@gmail.com> | 2022-06-10 05:58:04 +0200 |
commit | e262c4b8190e7f405b7d9b83055eee7d38eeb2b7 (patch) | |
tree | 2d1aa3fb81a0b9d62df4cf6dcc97452a21bca28b /sys-cluster | |
parent | sys-cluster/adios2: build testing utils with python (diff) | |
download | guru-e262c4b8190e7f405b7d9b83055eee7d38eeb2b7.tar.gz guru-e262c4b8190e7f405b7d9b83055eee7d38eeb2b7.tar.bz2 guru-e262c4b8190e7f405b7d9b83055eee7d38eeb2b7.zip |
sys-cluster/sionlibl: fix mpich detection
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/sionlibl/sionlibl-1.7.7-r3.ebuild | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/sys-cluster/sionlibl/sionlibl-1.7.7-r3.ebuild b/sys-cluster/sionlibl/sionlibl-1.7.7-r3.ebuild index a8bae06a2..48de3e3ec 100644 --- a/sys-cluster/sionlibl/sionlibl-1.7.7-r3.ebuild +++ b/sys-cluster/sionlibl/sionlibl-1.7.7-r3.ebuild @@ -8,7 +8,7 @@ DOCS_CONFIG_NAME="doxy" FORTRAN_NEEDED="fortran" PYTHON_COMPAT=( pypy3 python3_{8..11} ) -inherit docs flag-o-matic fortran-2 python-any-r1 toolchain-funcs +inherit docs edo flag-o-matic fortran-2 python-any-r1 toolchain-funcs DESCRIPTION="Scalable I/O library for parallel access to task-local files" HOMEPAGE="https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html" @@ -22,10 +22,6 @@ IUSE="+cxx debug deep-est-sdv doc examples +fortran hostname-regex +mpi +ompi +o RDEPEND=" mpi? ( virtual/mpi ) - ompi? ( - || ( sys-devel/gcc:*[openmp] sys-libs/libomp ) - virtual/mpi - ) openmp? ( || ( sys-devel/gcc:*[openmp] sys-libs/libomp ) ) sionfwd? ( sys-cluster/SIONfwd ) " @@ -34,7 +30,10 @@ DEPEND=" ${PYTHON_DEPS} " -REQUIRED_USE="?? ( hostname-regex deep-est-sdv )" +REQUIRED_USE=" + ompi? ( mpi openmp ) + ?? ( hostname-regex deep-est-sdv ) +" PATCHES=( "${FILESDIR}/${PN}-respect-flags-v3.patch" "${FILESDIR}/${PN}-build-shared-libraries.patch" @@ -43,7 +42,6 @@ PATCHES=( pkg_setup() { FORTRAN_NEED_OPENMP=0 use openmp && FORTRAN_NEED_OPENMP=1 - use ompi && FORTRAN_NEED_OPENMP=1 fortran-2_pkg_setup } @@ -77,7 +75,11 @@ src_configure() { #custom configure? use cxx || myconf+=( "--disable-cxx" ) use fortran || myconf+=( "--disable-fortran" ) - use mpi || myconf+=( "--disable-mpi" ) + if use mpi; then + myconf+=( "--mpi=$(detect_mpi_implementation || die)" ) + else + myconf+=( "--disable-mpi" ) + fi use ompi || myconf+=( "--disable-ompi" ) use openmp || myconf+=( "--disable-omp" ) use parutils || myconf+=( "--disable-parutils" ) @@ -85,7 +87,7 @@ src_configure() { use python && myconf+=( "--enable-python=3" ) use sionfwd && myconf+=( "--enable-sionfwd=${EPREFIX}/usr" ) - ./configure "${myconf[@]}" || die + edo ./configure "${myconf[@]}" } src_compile() { @@ -134,3 +136,23 @@ src_install() { #find "${ED}" -name '*.a' -delete || die find "${ED}" -name '*.la' -delete || die } + +detect_mpi_implementation() { + cat > testmpi.c <<- EOF +#include "mpi.h" +#include "stdio.h" + +int main(){ + #ifdef OPEN_MPI + printf("%s","openmpi"); + #endif + + #ifdef MPICH + printf("%s%i","mpich",MPICH_NAME); + #endif + return 0; +} +EOF + edo ${CC} testmpi.c -o testmpi + ./testmpi || die +} |