qrupdate: fix blas/lapack and compilation of macOS (#6614)
This commit is contained in:
parent
62d5bb41a8
commit
26e109027b
@ -22,10 +22,12 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
import os
|
||||
import sys
|
||||
from spack import *
|
||||
|
||||
|
||||
class Qrupdate(Package):
|
||||
class Qrupdate(MakefilePackage):
|
||||
"""qrupdate is a Fortran library for fast updates of QR and
|
||||
Cholesky decompositions."""
|
||||
|
||||
@ -37,7 +39,30 @@ class Qrupdate(Package):
|
||||
depends_on("blas")
|
||||
depends_on("lapack")
|
||||
|
||||
def edit(self, spec, prefix):
|
||||
# BSD "install" does not understand GNU -D flag.
|
||||
# We will create the parent directory ourselves.
|
||||
makefile = FileFilter('src/Makefile')
|
||||
if (sys.platform == 'darwin'):
|
||||
makefile.filter('-D', '')
|
||||
return
|
||||
|
||||
def install(self, spec, prefix):
|
||||
lapack_blas = spec['lapack'].libs + spec['blas'].libs
|
||||
# Build static and dynamic libraries
|
||||
make("lib", "solib")
|
||||
make('lib', 'solib',
|
||||
'BLAS={0}'.format(lapack_blas.ld_flags),
|
||||
'LAPACK={0}'.format(lapack_blas.ld_flags))
|
||||
# "INSTALL" confuses "make install" on case-insensitive filesystems
|
||||
if os.path.isfile("INSTALL"):
|
||||
os.remove("INSTALL")
|
||||
# create lib folder:
|
||||
if (sys.platform == 'darwin'):
|
||||
mkdirp(prefix.lib)
|
||||
make("install", "PREFIX=%s" % prefix)
|
||||
|
||||
@run_after('install')
|
||||
def fix_darwin_install(self):
|
||||
# The shared libraries are not installed correctly on Darwin:
|
||||
if (sys.platform == 'darwin'):
|
||||
fix_darwin_install_name(self.spec.prefix.lib)
|
||||
|
Loading…
Reference in New Issue
Block a user