summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/zoltan/package.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/zoltan/package.py b/var/spack/repos/builtin/packages/zoltan/package.py
index eb393d3990..7e40a3a51b 100644
--- a/var/spack/repos/builtin/packages/zoltan/package.py
+++ b/var/spack/repos/builtin/packages/zoltan/package.py
@@ -53,9 +53,14 @@ class Zoltan(Package):
variant('fortran', default=True, description='Enable Fortran support.')
variant('mpi', default=True, description='Enable MPI support.')
+ variant('parmetis', default=False, description='Enable ParMETIS support.')
depends_on('mpi', when='+mpi')
+ depends_on('parmetis@4:', when='+parmetis')
+
+ conflicts('+parmetis', when='~mpi')
+
def install(self, spec, prefix):
# FIXME: The older Zoltan versions fail to compile the F90 MPI wrappers
# because of some complicated generic type problem.
@@ -80,6 +85,13 @@ class Zoltan(Package):
if spec.satisfies('%gcc'):
config_args.append('--with-libs={0}'.format('-lgfortran'))
+ if '+parmetis' in spec:
+ config_args.append('--with-parmetis')
+ config_args.append('--with-parmetis-libdir={0}'
+ .format(spec['parmetis'].prefix.lib))
+ config_args.append('--with-parmetis-incdir={0}'
+ .format(spec['parmetis'].prefix.include))
+
if '+mpi' in spec:
config_args.append('CC={0}'.format(spec['mpi'].mpicc))
config_args.append('CXX={0}'.format(spec['mpi'].mpicxx))