summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py33
1 files changed, 15 insertions, 18 deletions
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index cc42c5eeaa..cf03fa5ec5 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -5,6 +5,7 @@
import os
import sys
+
from spack import *
from spack.operating_systems.mac_os import macos_version
from spack.pkg.builtin.kokkos import Kokkos
@@ -29,7 +30,7 @@ class Trilinos(CMakePackage, CudaPackage):
url = "https://github.com/trilinos/Trilinos/archive/trilinos-release-12-12-1.tar.gz"
git = "https://github.com/trilinos/Trilinos.git"
- maintainers = ['keitat']
+ maintainers = ['keitat', 'sethrj']
# ###################### Versions ##########################
@@ -70,7 +71,7 @@ class Trilinos(CMakePackage, CudaPackage):
variant('float', default=False,
description='Enable single precision (float) numbers in Trilinos')
variant('gotype', default='long',
- values=('none', 'int', 'long', 'long_long'),
+ values=('int', 'long', 'long_long', 'all'),
multi=False,
description='global ordinal type for Tpetra')
variant('fortran', default=True,
@@ -100,7 +101,7 @@ class Trilinos(CMakePackage, CudaPackage):
description='Enable ADIOS2')
variant('glm', default=True,
description='Compile with GLM')
- variant('gtest', default=True,
+ variant('gtest', default=False,
description='Compile with Gtest')
variant('hdf5', default=True,
description='Compile with HDF5')
@@ -306,6 +307,7 @@ class Trilinos(CMakePackage, CudaPackage):
conflicts('+teko', when='~ml')
conflicts('+teko', when='~teuchos')
conflicts('+teko', when='~tpetra')
+ conflicts('+teko', when='gotype=long')
conflicts('+tempus', when='~nox')
conflicts('+tempus', when='~teuchos')
conflicts('+tpetra', when='~kokkos')
@@ -369,12 +371,15 @@ class Trilinos(CMakePackage, CudaPackage):
conflicts('+scorec', when='~stk')
conflicts('+scorec', when='~zoltan')
+ # Multi-value gotype only applies to trilinos through 12.14
+ conflicts('gotype=all', when='@12.15:')
+
# All compilers except for pgi are in conflict:
for __compiler in spack.compilers.supported_compilers():
if __compiler != 'clang':
conflicts('+cuda', when='~wrapper %{0}'.format(__compiler),
- msg='trilinos~wrapper+cuda can only be built with the\
- Clang compiler')
+ msg='trilinos~wrapper+cuda can only be built with the '
+ 'Clang compiler')
# ###################### Dependencies ##########################
@@ -875,21 +880,13 @@ class Trilinos(CMakePackage, CudaPackage):
])
gotype = spec.variants['gotype'].value
- # default in older Trilinos versions to enable multiple GOs
- if ((gotype == 'none') and spec.satisfies('@:12.14.1')):
- options.extend([
- '-DTpetra_INST_INT_INT:BOOL=ON',
- '-DTpetra_INST_INT_LONG:BOOL=ON',
- '-DTpetra_INST_INT_LONG_LONG:BOOL=ON'
- ])
- # set default GO in newer versions to long
- elif (gotype == 'none'):
+ if gotype == 'all':
+ # default in older Trilinos versions to enable multiple GOs
options.extend([
- '-DTpetra_INST_INT_INT:BOOL=OFF',
- '-DTpetra_INST_INT_LONG:BOOL=ON',
- '-DTpetra_INST_INT_LONG_LONG:BOOL=OFF'
+ define('Tpetra_INST_INT_INT', True),
+ define('Tpetra_INST_INT_LONG', True),
+ define('Tpetra_INST_INT_LONG_LONG', True),
])
- # if another GO is specified, use this
else:
options.extend([
define('Tpetra_INST_INT_INT', gotype == 'int'),