mumps: Add support for Intel compiler and insure both lapack and blas… (#2076)
* mumps: Add support for Intel compiler and insure both lapack and blas libraries are passed to the examples Likely it was not discoverged before that the examples require both lapack and blas libraries because it was tested with Openblas which is one large library containing everything. Funded-by: IDEAS Project: IDEAS/xSDK Time: .3 hours * flake8 fix.
This commit is contained in:
parent
9f3a46c6c1
commit
9d3d492214
1 changed files with 11 additions and 3 deletions
|
@ -64,6 +64,7 @@ class Mumps(Package):
|
||||||
depends_on('metis@5:', when='+metis')
|
depends_on('metis@5:', when='+metis')
|
||||||
depends_on('parmetis', when="+parmetis")
|
depends_on('parmetis', when="+parmetis")
|
||||||
depends_on('blas')
|
depends_on('blas')
|
||||||
|
depends_on('lapack')
|
||||||
depends_on('scalapack', when='+mpi')
|
depends_on('scalapack', when='+mpi')
|
||||||
depends_on('mpi', when='+mpi')
|
depends_on('mpi', when='+mpi')
|
||||||
|
|
||||||
|
@ -78,8 +79,9 @@ def write_makefile_inc(self):
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
'You cannot use the variants parmetis or ptscotch without mpi')
|
'You cannot use the variants parmetis or ptscotch without mpi')
|
||||||
|
|
||||||
blas = self.spec['blas'].blas_libs
|
lapack_blas = (self.spec['lapack'].lapack_libs +
|
||||||
makefile_conf = ["LIBBLAS = %s" % blas.ld_flags]
|
self.spec['blas'].blas_libs)
|
||||||
|
makefile_conf = ["LIBBLAS = %s" % lapack_blas.joined()]
|
||||||
|
|
||||||
orderings = ['-Dpord']
|
orderings = ['-Dpord']
|
||||||
|
|
||||||
|
@ -154,6 +156,12 @@ def write_makefile_inc(self):
|
||||||
|
|
||||||
# TODO: change the value to the correct one according to the
|
# TODO: change the value to the correct one according to the
|
||||||
# compiler possible values are -DAdd_, -DAdd__ and/or -DUPPER
|
# compiler possible values are -DAdd_, -DAdd__ and/or -DUPPER
|
||||||
|
if self.compiler.name == 'intel':
|
||||||
|
# Intel Fortran compiler provides the main() function so
|
||||||
|
# C examples linked with the Fortran compiler require a
|
||||||
|
# hack defined by _DMAIN_COMP (see examples/c_example.c)
|
||||||
|
makefile_conf.append("CDEFS = -DAdd_ -DMAIN_COMP")
|
||||||
|
else:
|
||||||
makefile_conf.append("CDEFS = -DAdd_")
|
makefile_conf.append("CDEFS = -DAdd_")
|
||||||
|
|
||||||
if '+shared' in self.spec:
|
if '+shared' in self.spec:
|
||||||
|
|
Loading…
Reference in a new issue