diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/hypre/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/hypre/package.py | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py index a244437057..44ff3efc16 100644 --- a/var/spack/repos/builtin/packages/hypre/package.py +++ b/var/spack/repos/builtin/packages/hypre/package.py @@ -41,14 +41,18 @@ class Hypre(Package): # between versions 2.12.1 and 2.13.0. variant('shared', default=(sys.platform != 'darwin'), description="Build shared library (disables static library)") - # SuperluDist have conflicting headers with those in Hypre - variant('internal-superlu', default=True, - description="Use internal Superlu routines") + # Use internal SuperLU routines for FEI - version 2.12.1 and below + variant('internal-superlu', default=False, + description="Use internal SuperLU routines") variant('superlu-dist', default=False, - description='Activates support for SuperluDist') + description='Activates support for SuperLU_Dist library') variant('int64', default=False, description="Use 64bit integers") + variant('mixedint', default=False, + description="Use 64bit integers while reducing memory use") + variant('complex', default=False, description='Use complex values') variant('mpi', default=True, description='Enable MPI support') + variant('openmp', default=False, description='Enable OpenMP support') variant('debug', default=False, description='Build debug instead of optimized version') @@ -71,6 +75,16 @@ class Hypre(Package): # versions before 2.13.0 conflicts("+shared@:2.12.99 platform=darwin") + # Conflicts + # Option added in v2.13.0 + conflicts('+superlu-dist', when='@:2.12.99') + + # Internal SuperLU Option removed in v2.13.0 + conflicts('+internal-superlu', when='@2.13.0:') + + # Option added in v2.16.0 + conflicts('+mixedint', when='@:2.15.99') + def url_for_version(self, version): if version >= Version('2.12.0'): url = 'https://github.com/hypre-space/hypre/archive/v{0}.tar.gz' @@ -100,8 +114,25 @@ class Hypre(Package): else: configure_args.append('--without-MPI') + if '+openmp' in self.spec: + configure_args.append('--with-openmp') + else: + configure_args.append('--without-openmp') + if '+int64' in self.spec: configure_args.append('--enable-bigint') + else: + configure_args.append('--disable-bigint') + + if '+mixedint' in self.spec: + configure_args.append('--enable-mixedint') + else: + configure_args.append('--disable-mixedint') + + if '+complex' in self.spec: + configure_args.append('--enable-complex') + else: + configure_args.append('--disable-complex') if '+shared' in self.spec: configure_args.append("--enable-shared") @@ -112,7 +143,7 @@ class Hypre(Package): configure_args.append("--without-mli") configure_args.append("--without-fei") - if 'superlu-dist' in self.spec: + if '+superlu-dist' in self.spec: configure_args.append('--with-dsuperlu-include=%s' % spec['superlu-dist'].prefix.include) configure_args.append('--with-dsuperlu-lib=%s' % |