Balay/petsc remove boost dependency (#8508)
* petsc: remove dependency on boost - its required only as a dependency on trilinos Also set COPTFLAGS='' etc - this way CFLAGS is the primary way optimization flags are set by spack * petsc: update pkgs with petsc~boost dependency * fix flake8 * boost is optional for trilinos - so adjust petsc dependency on boost [via trilinos] accordingly * do not add boost dependency on petsc [due to trilinos requirement]. Trilinos adds this dependency anyway.
This commit is contained in:
parent
f6140375e9
commit
df45b6f56d
@ -73,10 +73,10 @@ class Ceed(Package):
|
||||
depends_on('nekcem@0b8bedd', when='@1.0.0+nek')
|
||||
|
||||
# PETSc, HPGMG
|
||||
# For a +quickbuild we disable boost, hdf5, and superlu-dist in PETSc.
|
||||
# For a +quickbuild we disable hdf5, and superlu-dist in PETSc.
|
||||
# Ideally, these can be turned into recommendations to Spack for
|
||||
# concretizing the PETSc spec, if Spack ever supports recommendations.
|
||||
depends_on('petsc@3.8.3~boost~hdf5~superlu-dist',
|
||||
depends_on('petsc@3.8.3~hdf5~superlu-dist',
|
||||
when='@1.0.0+petsc+quickbuild')
|
||||
depends_on('petsc@3.8.3+mpi+double~int64', when='@1.0.0+petsc~mfem')
|
||||
# The mfem petsc examples need the petsc variants +hypre, +suite-sparse,
|
||||
|
@ -6,7 +6,7 @@ builds=(
|
||||
'mfem~mpi~metis~gzstream'
|
||||
'mfem+mpi+superlu-dist+suite-sparse+petsc \
|
||||
+sundials+pumi+mpfr+netcdf+gzstream+gnutls+libunwind \
|
||||
^hypre~internal-superlu ^petsc~boost+suite-sparse+mumps'
|
||||
^hypre~internal-superlu ^petsc+suite-sparse+mumps'
|
||||
'mfem~mpi+suite-sparse+sundials+mpfr+netcdf \
|
||||
+gzstream+gnutls+libunwind'
|
||||
# develop version:
|
||||
@ -18,7 +18,7 @@ builds=(
|
||||
'mfem@develop+shared~static+mpi \
|
||||
+superlu-dist+suite-sparse+petsc+sundials+mpfr+netcdf+gzstream \
|
||||
+gnutls+libunwind+conduit ^hypre~internal-superlu \
|
||||
^petsc~boost+suite-sparse+mumps ^conduit~python~hdf5'
|
||||
^petsc+suite-sparse+mumps ^conduit~python~hdf5'
|
||||
# TODO: The options '^netcdf~mpi ^hdf5@1.8.19~mpi' are added just to make
|
||||
# conduit happy.
|
||||
'mfem@develop+shared~static~mpi \
|
||||
@ -38,7 +38,7 @@ builds2=(
|
||||
'mfem+netcdf'
|
||||
'mfem+mpfr'
|
||||
'mfem+gnutls'
|
||||
'mfem+petsc+mpi ^hypre~internal-superlu ^petsc~boost+suite-sparse+mumps'
|
||||
'mfem+petsc+mpi ^hypre~internal-superlu ^petsc+suite-sparse+mumps'
|
||||
# develop version
|
||||
'mfem@develop+superlu-dist'
|
||||
'mfem@develop+suite-sparse~mpi'
|
||||
@ -53,7 +53,7 @@ builds2=(
|
||||
'mfem@develop+conduit~mpi ^conduit~python'
|
||||
'mfem@develop+conduit ^conduit~python'
|
||||
'mfem@develop+petsc+mpi ^hypre~internal-superlu \
|
||||
^petsc~boost+suite-sparse+mumps'
|
||||
^petsc+suite-sparse+mumps'
|
||||
)
|
||||
|
||||
trap 'printf "\nScript interrupted.\n"; exit 33' INT
|
||||
|
@ -74,7 +74,6 @@ class Petsc(Package):
|
||||
description='Activates support for metis and parmetis')
|
||||
variant('hdf5', default=True,
|
||||
description='Activates support for HDF5 (only parallel)')
|
||||
variant('boost', default=True, description='Activates support for Boost')
|
||||
variant('hypre', default=True,
|
||||
description='Activates support for Hypre (only parallel)')
|
||||
# Mumps is disabled by default, because it depends on Scalapack
|
||||
@ -121,7 +120,6 @@ class Petsc(Package):
|
||||
depends_on('python@2.6:2.8', type='build')
|
||||
|
||||
# Other dependencies
|
||||
depends_on('boost', when='@:3.5+boost')
|
||||
depends_on('metis@5:~int64+real64', when='@:3.7.99+metis~int64+double')
|
||||
depends_on('metis@5:~int64', when='@:3.7.99+metis~int64~double')
|
||||
depends_on('metis@5:+int64+real64', when='@:3.7.99+metis+int64+double')
|
||||
@ -197,7 +195,10 @@ def install(self, spec, prefix):
|
||||
'--with-x=0',
|
||||
'--download-c2html=0',
|
||||
'--download-sowing=0',
|
||||
'--download-hwloc=0']
|
||||
'--download-hwloc=0',
|
||||
'COPTFLAGS=',
|
||||
'FOPTFLAGS=',
|
||||
'CXXOPTFLAGS=']
|
||||
options.extend(self.mpi_dependent_options())
|
||||
options.extend([
|
||||
'--with-precision=%s' % (
|
||||
@ -217,6 +218,8 @@ def install(self, spec, prefix):
|
||||
|
||||
if 'trilinos' in spec:
|
||||
options.append('--with-cxx-dialect=C++11')
|
||||
if spec.satisfies('^trilinos+boost'):
|
||||
options.append('--with-boost=1')
|
||||
|
||||
if self.spec.satisfies('clanguage=C++'):
|
||||
options.append('--with-clanguage=C++')
|
||||
@ -236,7 +239,7 @@ def install(self, spec, prefix):
|
||||
])
|
||||
|
||||
# Activates library support if needed
|
||||
for library in ('metis', 'boost', 'hdf5', 'hypre', 'parmetis',
|
||||
for library in ('metis', 'hdf5', 'hypre', 'parmetis',
|
||||
'mumps', 'trilinos'):
|
||||
options.append(
|
||||
'--with-{library}={value}'.format(
|
||||
|
@ -64,11 +64,11 @@ class Xsdk(Package):
|
||||
depends_on('trilinos@12.12.1+hypre+superlu-dist+metis+hdf5~mumps+boost~suite-sparse~tpetra+nox~ifpack2~zoltan2~amesos2~exodus',
|
||||
when='@develop')
|
||||
|
||||
depends_on('petsc@3.8.2+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps~boost+double~int64',
|
||||
depends_on('petsc@3.8.2+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@0.3.0')
|
||||
depends_on('petsc@xsdk-0.2.0+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps~boost+double~int64',
|
||||
depends_on('petsc@xsdk-0.2.0+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@xsdk-0.2.0')
|
||||
depends_on('petsc@develop+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps~boost+double~int64',
|
||||
depends_on('petsc@develop+trilinos+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
|
||||
when='@develop')
|
||||
|
||||
depends_on('pflotran@xsdk-0.3.0', when='@0.3.0')
|
||||
|
Loading…
Reference in New Issue
Block a user