summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/wrf/package.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/wrf/package.py b/var/spack/repos/builtin/packages/wrf/package.py
index b0d87af04a..c2a3352d0c 100644
--- a/var/spack/repos/builtin/packages/wrf/package.py
+++ b/var/spack/repos/builtin/packages/wrf/package.py
@@ -287,10 +287,16 @@ class Wrf(Package):
config = FileFilter(join_path("arch", "configure.defaults"))
if self.spec.satisfies("@3.9.1.1 %gcc"):
+ # Compiling with OpenMPI requires using `-DMPI2SUPPORT`.
+ other_flags = " -DMPI2SUPPORT" if self.spec.satisfies("^openmpi") else ""
config.filter(
- "^DM_FC.*mpif90 -f90=$(SFC)", "DM_FC = {0}".format(self.spec["mpi"].mpifc)
+ r"^DM_FC.*mpif90 -f90=\$\(SFC\)",
+ "DM_FC = {0}".format(self.spec["mpi"].mpifc) + other_flags,
+ )
+ config.filter(
+ r"^DM_CC.*mpicc -cc=\$\(SCC\)",
+ "DM_CC = {0}".format(self.spec["mpi"].mpicc) + other_flags,
)
- config.filter("^DM_CC.*mpicc -cc=$(SCC)", "DM_CC = {0}".format(self.spec["mpi"].mpicc))
if self.spec.satisfies("%aocc"):
config.filter(