summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py1
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py13
2 files changed, 12 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index 797931052e..1b9e02c044 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -151,6 +151,7 @@ class Dealii(CMakePackage, CudaPackage):
depends_on('slepc@:3.6.3', when='@:8.4.1+slepc+petsc+mpi')
depends_on('slepc~arpack', when='+slepc+petsc+mpi+int64')
depends_on('sundials@:3~pthread', when='@9.0:+sundials')
+ depends_on('trilinos gotype=int', when='+trilinos')
# Both Trilinos and SymEngine bundle the Teuchos RCP library.
# This leads to conflicts between macros defined in the included
# headers when they are not compiled in the same mode.
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index ba5ce27562..66e281f28b 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -66,6 +66,10 @@ class Trilinos(CMakePackage):
description='Enable explicit template instantiation (ETI)')
variant('float', default=False,
description='Enable single precision (float) numbers in Trilinos')
+ variant('gotype', default='long',
+ values=('int', 'long', 'long_long'),
+ multi=False,
+ description='global ordinal type for Tpetra')
variant('fortran', default=True,
description='Compile with Fortran support')
variant('openmp', default=False,
@@ -744,10 +748,15 @@ class Trilinos(CMakePackage):
)
if '+explicit_template_instantiation' in spec and '+tpetra' in spec:
+ gotype = spec.variants['gotype'].value
options.extend([
'-DTpetra_INST_DOUBLE:BOOL=ON',
- '-DTpetra_INST_INT_LONG:BOOL=ON',
- '-DTpetra_INST_INT_LONG_LONG:BOOL=ON',
+ '-DTpetra_INST_INT_INT:BOOL=%s' % (
+ 'ON' if gotype == 'int' else 'OFF'),
+ '-DTpetra_INST_INT_LONG:BOOL=%s' % (
+ 'ON' if gotype == 'long' else 'OFF'),
+ '-DTpetra_INST_INT_LONG_LONG:BOOL=%s' % (
+ 'ON' if gotype == 'long_long' else 'OFF'),
'-DTpetra_INST_COMPLEX_DOUBLE=%s' % complex_s,
'-DTpetra_INST_COMPLEX_FLOAT=%s' % complex_float_s,
'-DTpetra_INST_FLOAT=%s' % float_s,