summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCameron Smith <cwsmith@users.noreply.github.com>2017-11-23 03:03:02 -0500
committerMassimiliano Culpo <massimiliano.culpo@googlemail.com>2017-11-23 09:03:02 +0100
commit951679376e1ffbfaf626625158ea9fafecec36d8 (patch)
tree2324181ad28f39bcd4076423c8fe3aeb8e47c206
parent6fd100908113401a56aa66e7bd3b2ac4e7fc61c3 (diff)
downloadspack-951679376e1ffbfaf626625158ea9fafecec36d8.tar.gz
spack-951679376e1ffbfaf626625158ea9fafecec36d8.tar.bz2
spack-951679376e1ffbfaf626625158ea9fafecec36d8.tar.xz
spack-951679376e1ffbfaf626625158ea9fafecec36d8.zip
zoltan: add optional dependency on parmetis (#6387)
-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))