summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Cohn <rscohn2@gmail.com>2021-01-08 13:47:03 -0500
committerGitHub <noreply@github.com>2021-01-08 10:47:03 -0800
commitea0b0015970180410bfc9fa25f6f924f8e103313 (patch)
tree05d2d77253567676eb27c0d3d8aed1bb8f09dcef
parent1d4cbcd93fc2c878800b36ba6da905bac3f8f955 (diff)
downloadspack-ea0b0015970180410bfc9fa25f6f924f8e103313.tar.gz
spack-ea0b0015970180410bfc9fa25f6f924f8e103313.tar.bz2
spack-ea0b0015970180410bfc9fa25f6f924f8e103313.tar.xz
spack-ea0b0015970180410bfc9fa25f6f924f8e103313.zip
intel-oneapi-mpi: virtual provider support (#20732)
Set up environment and dependent packages properly when building with intel-oneapi-mpi as a dependency MPI provider (e.g. point to mpicc compiler wrapper).
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
index c3b5e37f6d..b95518199f 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
@@ -28,6 +28,20 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage):
url_name='mpi_oneapi')
super(IntelOneapiMpi, self).__init__(spec)
+ def setup_dependent_package(self, module, dep_spec):
+ dir = join_path(self.prefix, 'mpi', 'latest', 'bin')
+ self.spec.mpicc = join_path(dir, 'mpicc')
+ self.spec.mpicxx = join_path(dir, 'mpicxx')
+ self.spec.mpif77 = join_path(dir, 'mpif77')
+ self.spec.mpifc = join_path(dir, 'mpifc')
+
+ def setup_dependent_build_environment(self, env, dependent_spec):
+ 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)
+
@property
def libs(self):
libs = []