From 56d76766b761d69221ba4c9b35c1d6cecc045f5f Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Tue, 10 May 2022 19:22:04 +0200 Subject: cray-mpich: add variant 'wrappers' (#30249) --- .../repos/builtin/packages/cray-mpich/package.py | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/cray-mpich/package.py b/var/spack/repos/builtin/packages/cray-mpich/package.py index 3c9d0f12e3..1eeadf5422 100644 --- a/var/spack/repos/builtin/packages/cray-mpich/package.py +++ b/var/spack/repos/builtin/packages/cray-mpich/package.py @@ -29,6 +29,10 @@ class CrayMpich(Package): version('7.7.14') version('7.7.13') + # cray-mpich 8.1.7: features MPI compiler wrappers + variant('wrappers', default=True, when='@8.1.7:', + description='enable MPI wrappers') + provides('mpi@3') canonical_names = { @@ -59,17 +63,16 @@ class CrayMpich(Package): return os.path.dirname(os.path.normpath(libdir)) def setup_run_environment(self, env): - if(self.spec.satisfies('@:8.1.6')): - env.set('MPICC', spack_cc) - env.set('MPICXX', spack_cxx) - env.set('MPIF77', spack_fc) - env.set('MPIF90', spack_fc) - else: - # cray-mpich 8.1.7: features MPI compiler wrappers + if '+wrappers' in self.spec: env.set('MPICC', join_path(self.prefix.bin, 'mpicc')) env.set('MPICXX', join_path(self.prefix.bin, 'mpicxx')) env.set('MPIF77', join_path(self.prefix.bin, 'mpif77')) env.set('MPIF90', join_path(self.prefix.bin, 'mpif90')) + else: + env.set('MPICC', spack_cc) + env.set('MPICXX', spack_cxx) + env.set('MPIF77', spack_fc) + env.set('MPIF90', spack_fc) def setup_dependent_build_environment(self, env, dependent_spec): self.setup_run_environment(env) @@ -81,17 +84,16 @@ class CrayMpich(Package): def setup_dependent_package(self, module, dependent_spec): spec = self.spec - if(spec.satisfies('@:8.1.6')): + if '+wrappers' in spec: + spec.mpicc = join_path(self.prefix.bin, 'mpicc') + spec.mpicxx = join_path(self.prefix.bin, 'mpicxx') + spec.mpifc = join_path(self.prefix.bin, 'mpif90') + spec.mpif77 = join_path(self.prefix.bin, 'mpif77') + else: spec.mpicc = spack_cc spec.mpicxx = spack_cxx spec.mpifc = spack_fc spec.mpif77 = spack_f77 - else: - # cray-mpich 8.1.7: features MPI compiler wrappers - spec.mpicc = join_path(self.prefix.bin, 'mpicc') - spec.mpicxx = join_path(self.prefix.bin, 'mpicxx') - spec.mpifc = join_path(self.prefix.bin, 'mpif90') - spec.mpif77 = join_path(self.prefix.bin, 'mpif77') def install(self, spec, prefix): raise InstallError( -- cgit v1.2.3-70-g09d2