diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py index a4851244766ec5bc5f2c71dd0ec3a460fc387cd7..d967611fddfa3643e526a4aab65b44b9d30b1bca 100644 --- a/var/spack/repos/builtin/packages/mpich/package.py +++ b/var/spack/repos/builtin/packages/mpich/package.py @@ -67,6 +67,8 @@ class Mpich(AutotoolsPackage): variant('libxml2', default=True, description='Use libxml2 for XML support instead of the custom ' 'minimalistic implementation') + variant('argobots', default=False, + description='Enable Argobots support') provides('mpi') provides('mpi@:3.0', when='@3:') @@ -141,6 +143,9 @@ class Mpich(AutotoolsPackage): depends_on('pmix', when='pmi=pmix') + # +argobots variant requires Argobots + depends_on('argobots', when='+argobots') + # building from git requires regenerating autotools files depends_on('automake@1.15:', when='@develop', type=("build")) depends_on('libtool@2.4.4:', when='@develop', type=("build")) @@ -307,4 +312,9 @@ def configure_args(self): # for hydra, for hydra2, and for MPICH itself). config_args += self.enable_or_disable('libxml2') + # If +argobots specified, add argobots option + if '+argobots' in spec: + config_args.append('--with-thread-package=argobots') + config_args.append('--with-argobots=' + spec['argobots'].prefix) + return config_args