summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Smith <bsmith@mcs.anl.gov>2016-10-22 17:57:44 -0500
committerTodd Gamblin <tgamblin@llnl.gov>2016-10-22 15:57:44 -0700
commit9d3d49221442e102b59c3b273aecd8c95d6d0edf (patch)
treea5f5f1a432e2461a475874bd5c046c596f17c387
parent9f3a46c6c1ec62f5a332c7bc3f38b650a0732e3f (diff)
downloadspack-9d3d49221442e102b59c3b273aecd8c95d6d0edf.tar.gz
spack-9d3d49221442e102b59c3b273aecd8c95d6d0edf.tar.bz2
spack-9d3d49221442e102b59c3b273aecd8c95d6d0edf.tar.xz
spack-9d3d49221442e102b59c3b273aecd8c95d6d0edf.zip
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.
-rw-r--r--var/spack/repos/builtin/packages/mumps/package.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py
index 7bc113472b..fcb6549d29 100644
--- a/var/spack/repos/builtin/packages/mumps/package.py
+++ b/var/spack/repos/builtin/packages/mumps/package.py
@@ -64,6 +64,7 @@ class Mumps(Package):
depends_on('metis@5:', when='+metis')
depends_on('parmetis', when="+parmetis")
depends_on('blas')
+ depends_on('lapack')
depends_on('scalapack', when='+mpi')
depends_on('mpi', when='+mpi')
@@ -78,8 +79,9 @@ class Mumps(Package):
raise RuntimeError(
'You cannot use the variants parmetis or ptscotch without mpi')
- blas = self.spec['blas'].blas_libs
- makefile_conf = ["LIBBLAS = %s" % blas.ld_flags]
+ lapack_blas = (self.spec['lapack'].lapack_libs +
+ self.spec['blas'].blas_libs)
+ makefile_conf = ["LIBBLAS = %s" % lapack_blas.joined()]
orderings = ['-Dpord']
@@ -154,7 +156,13 @@ class Mumps(Package):
# TODO: change the value to the correct one according to the
# compiler possible values are -DAdd_, -DAdd__ and/or -DUPPER
- makefile_conf.append("CDEFS = -DAdd_")
+ 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_")
if '+shared' in self.spec:
if sys.platform == 'darwin':