summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/mfem/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/mfem/package.py')
-rw-r--r--var/spack/repos/builtin/packages/mfem/package.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py
index 75eeda7b1f..588a4627ed 100644
--- a/var/spack/repos/builtin/packages/mfem/package.py
+++ b/var/spack/repos/builtin/packages/mfem/package.py
@@ -751,12 +751,14 @@ class Mfem(Package, CudaPackage, ROCmPackage):
)
gfortran_lib = LibraryList(libfile)
sp_lib += [ld_flags_from_library_list(gfortran_lib)]
- if ("^mpich" in strumpack) or ("^mvapich2" in strumpack):
- sp_lib += ["-lmpifort"]
- elif "^openmpi" in strumpack:
- sp_lib += ["-lmpi_mpifh"]
- elif "^spectrum-mpi" in strumpack:
- sp_lib += ["-lmpi_ibm_mpifh"]
+ if "+mpi" in strumpack:
+ mpi = strumpack["mpi"]
+ if ("^mpich" in strumpack) or ("^mvapich2" in strumpack):
+ sp_lib += [ld_flags_from_dirs([mpi.prefix.lib], ["mpifort"])]
+ elif "^openmpi" in strumpack:
+ sp_lib += [ld_flags_from_dirs([mpi.prefix.lib], ["mpi_mpifh"])]
+ elif "^spectrum-mpi" in strumpack:
+ sp_lib += [ld_flags_from_dirs([mpi.prefix.lib], ["mpi_ibm_mpifh"])]
if "+openmp" in strumpack:
# The '+openmp' in the spec means strumpack will TRY to find
# OpenMP; if not found, we should not add any flags -- how do