diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2019-11-12 18:44:12 +0100 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2019-11-12 11:44:12 -0600 |
commit | 826e8c639418316cc35f58223e7b15b448984334 (patch) | |
tree | 0c0192066dc454bbb62eacd45931a75f2c2e2775 | |
parent | b1965fa913d8d988a9d0f8c3c2ff63c32077d7e8 (diff) | |
download | spack-826e8c639418316cc35f58223e7b15b448984334.tar.gz spack-826e8c639418316cc35f58223e7b15b448984334.tar.bz2 spack-826e8c639418316cc35f58223e7b15b448984334.tar.xz spack-826e8c639418316cc35f58223e7b15b448984334.zip |
athena, mvapich2, spectrum-mpi: use new API to setup environment (#13677)
* athena: updated api call to setup build environment
* mvapich2: updated api call to setup build and run environment
* spectrum-mpi: updated api call to setup build and run environment
-rw-r--r-- | var/spack/repos/builtin/packages/athena/package.py | 20 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/mvapich2/package.py | 48 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/spectrum-mpi/package.py | 63 |
3 files changed, 65 insertions, 66 deletions
diff --git a/var/spack/repos/builtin/packages/athena/package.py b/var/spack/repos/builtin/packages/athena/package.py index 504bd5b767..c9254cc491 100644 --- a/var/spack/repos/builtin/packages/athena/package.py +++ b/var/spack/repos/builtin/packages/athena/package.py @@ -146,23 +146,23 @@ class Athena(AutotoolsPackage): patch('missing-separator.patch') - def setup_environment(self, spack_env, run_env): + def setup_build_environment(self, env): spec = self.spec - spack_env.set('OPT', '-O3') + env.set('OPT', '-O3') if '+mpi' in spec: - spack_env.set('CC', spec['mpi'].mpicc) - spack_env.set('LDR', spec['mpi'].mpicc) - spack_env.set('MPILIB', spec['mpi'].libs.ld_flags) - spack_env.set('MPIINC', spec['mpi'].headers.include_flags) + env.set('CC', spec['mpi'].mpicc) + env.set('LDR', spec['mpi'].mpicc) + env.set('MPILIB', spec['mpi'].libs.ld_flags) + env.set('MPIINC', spec['mpi'].headers.include_flags) else: - spack_env.set('CC', spack_cc) - spack_env.set('LDR', spack_cc) + env.set('CC', spack_cc) + env.set('LDR', spack_cc) if '+fft' in spec: - spack_env.set('FFTWLIB', spec['fftw'].libs.ld_flags) - spack_env.set('FFTWINC', spec['fftw'].headers.include_flags) + env.set('FFTWLIB', spec['fftw'].libs.ld_flags) + env.set('FFTWINC', spec['fftw'].headers.include_flags) def configure_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py index 1673316bb7..07db5e2097 100644 --- a/var/spack/repos/builtin/packages/mvapich2/package.py +++ b/var/spack/repos/builtin/packages/mvapich2/package.py @@ -3,10 +3,9 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os.path import sys -from spack import * - class Mvapich2(AutotoolsPackage): """MVAPICH2 is an MPI implementation for Infiniband networks.""" @@ -195,34 +194,35 @@ class Mvapich2(AutotoolsPackage): return opts - def setup_environment(self, spack_env, run_env): - spec = self.spec + def setup_build_environment(self, env): # mvapich2 configure fails when F90 and F90FLAGS are set - spack_env.unset('F90') - spack_env.unset('F90FLAGS') - if 'process_managers=slurm' in spec: - run_env.set('SLURM_MPI_TYPE', 'pmi2') + env.unset('F90') + env.unset('F90FLAGS') + + def setup_run_environment(self, env): + if 'process_managers=slurm' in self.spec: + env.set('SLURM_MPI_TYPE', 'pmi2') - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): - spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc')) - spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpicxx')) - spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77')) - spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90')) + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('MPICC', os.path.join(self.prefix.bin, 'mpicc')) + env.set('MPICXX', os.path.join(self.prefix.bin, 'mpicxx')) + env.set('MPIF77', os.path.join(self.prefix.bin, 'mpif77')) + env.set('MPIF90', os.path.join(self.prefix.bin, 'mpif90')) - spack_env.set('MPICH_CC', spack_cc) - spack_env.set('MPICH_CXX', spack_cxx) - spack_env.set('MPICH_F77', spack_f77) - spack_env.set('MPICH_F90', spack_fc) - spack_env.set('MPICH_FC', spack_fc) + env.set('MPICH_CC', spack_cc) + env.set('MPICH_CXX', spack_cxx) + env.set('MPICH_F77', spack_f77) + env.set('MPICH_F90', spack_fc) + env.set('MPICH_FC', spack_fc) def setup_dependent_package(self, module, dependent_spec): - self.spec.mpicc = join_path(self.prefix.bin, 'mpicc') - self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx') - self.spec.mpifc = join_path(self.prefix.bin, 'mpif90') - self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77') + self.spec.mpicc = os.path.join(self.prefix.bin, 'mpicc') + self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpicxx') + self.spec.mpifc = os.path.join(self.prefix.bin, 'mpif90') + self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpif77') self.spec.mpicxx_shared_libs = [ - join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)), - join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix)) + os.path.join(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)), + os.path.join(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix)) ] @run_before('configure') diff --git a/var/spack/repos/builtin/packages/spectrum-mpi/package.py b/var/spack/repos/builtin/packages/spectrum-mpi/package.py index cdbd94260a..46799b7f65 100644 --- a/var/spack/repos/builtin/packages/spectrum-mpi/package.py +++ b/var/spack/repos/builtin/packages/spectrum-mpi/package.py @@ -2,8 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - -from spack import * +import os.path class SpectrumMpi(Package): @@ -19,41 +18,41 @@ class SpectrumMpi(Package): def setup_dependent_package(self, module, dependent_spec): # get the compiler names if '%xl' in dependent_spec or '%xl_r' in dependent_spec: - self.spec.mpicc = join_path(self.prefix.bin, 'mpixlc') - self.spec.mpicxx = join_path(self.prefix.bin, 'mpixlC') - self.spec.mpif77 = join_path(self.prefix.bin, 'mpixlf') - self.spec.mpifc = join_path(self.prefix.bin, 'mpixlf') + self.spec.mpicc = os.path.join(self.prefix.bin, 'mpixlc') + self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpixlC') + self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpixlf') + self.spec.mpifc = os.path.join(self.prefix.bin, 'mpixlf') elif '%pgi' in dependent_spec: - self.spec.mpicc = join_path(self.prefix.bin, 'mpipgicc') - self.spec.mpicxx = join_path(self.prefix.bin, 'mpipgic++') - self.spec.mpif77 = join_path(self.prefix.bin, 'mpipgifort') - self.spec.mpifc = join_path(self.prefix.bin, 'mpipgifort') + self.spec.mpicc = os.path.join(self.prefix.bin, 'mpipgicc') + self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpipgic++') + self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpipgifort') + self.spec.mpifc = os.path.join(self.prefix.bin, 'mpipgifort') else: - self.spec.mpicc = join_path(self.prefix.bin, 'mpicc') - self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx') - self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77') - self.spec.mpifc = join_path(self.prefix.bin, 'mpif90') + self.spec.mpicc = os.path.join(self.prefix.bin, 'mpicc') + self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpicxx') + self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpif77') + self.spec.mpifc = os.path.join(self.prefix.bin, 'mpif90') - def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + def setup_dependent_build_environment(self, env, dependent_spec): if '%xl' in dependent_spec or '%xl_r' in dependent_spec: - spack_env.set('MPICC', join_path(self.prefix.bin, 'mpixlc')) - spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpixlC')) - spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpixlf')) - spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpixlf')) + env.set('MPICC', os.path.join(self.prefix.bin, 'mpixlc')) + env.set('MPICXX', os.path.join(self.prefix.bin, 'mpixlC')) + env.set('MPIF77', os.path.join(self.prefix.bin, 'mpixlf')) + env.set('MPIF90', os.path.join(self.prefix.bin, 'mpixlf')) elif '%pgi' in dependent_spec: - spack_env.set('MPICC', join_path(self.prefix.bin, 'mpipgicc')) - spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpipgic++')) - spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpipgifort')) - spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpipgifort')) + env.set('MPICC', os.path.join(self.prefix.bin, 'mpipgicc')) + env.set('MPICXX', os.path.join(self.prefix.bin, 'mpipgic++')) + env.set('MPIF77', os.path.join(self.prefix.bin, 'mpipgifort')) + env.set('MPIF90', os.path.join(self.prefix.bin, 'mpipgifort')) else: - spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc')) - spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpic++')) - spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77')) - spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90')) + env.set('MPICC', os.path.join(self.prefix.bin, 'mpicc')) + env.set('MPICXX', os.path.join(self.prefix.bin, 'mpic++')) + env.set('MPIF77', os.path.join(self.prefix.bin, 'mpif77')) + env.set('MPIF90', os.path.join(self.prefix.bin, 'mpif90')) - spack_env.set('OMPI_CC', spack_cc) - spack_env.set('OMPI_CXX', spack_cxx) - spack_env.set('OMPI_FC', spack_fc) - spack_env.set('OMPI_F77', spack_f77) + env.set('OMPI_CC', spack_cc) + env.set('OMPI_CXX', spack_cxx) + env.set('OMPI_FC', spack_fc) + env.set('OMPI_F77', spack_f77) - spack_env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib) + env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib) |