Merge branch 'benjaminwalters-develop' into features/blas
Conflicts: var/spack/packages/lapack/package.py
This commit is contained in:
commit
c10773503b
@ -1,4 +1,6 @@
|
|||||||
from spack import *
|
from spack import *
|
||||||
|
import sys
|
||||||
|
import glob
|
||||||
|
|
||||||
class Lapack(Package):
|
class Lapack(Package):
|
||||||
"""
|
"""
|
||||||
@ -18,12 +20,29 @@ class Lapack(Package):
|
|||||||
version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70')
|
version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70')
|
||||||
version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4')
|
version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4')
|
||||||
|
|
||||||
depends_on('atlas')
|
# blas is a virtual dependency.
|
||||||
|
depends_on('blas')
|
||||||
|
|
||||||
|
# Doesn't always build correctly in parallel
|
||||||
|
parallel = False
|
||||||
|
|
||||||
|
@when('^netlib_blas')
|
||||||
|
def get_blas_libs(self):
|
||||||
|
blas = self.spec['netlib_blas']
|
||||||
|
return [join_path(blas.prefix.lib, 'blas.a')]
|
||||||
|
|
||||||
|
|
||||||
|
@when('^atlas')
|
||||||
|
def get_blas_libs(self):
|
||||||
|
blas = self.spec['atlas']
|
||||||
|
return [join_path(blas.prefix.lib, l)
|
||||||
|
for l in ('libf77blas.a', 'libatlas.a')]
|
||||||
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
atlas_libs = ['libf77blas.a', 'libatlas.a']
|
blas_libs = ";".join(self.get_blas_libs())
|
||||||
atlas_libs = [join_path(spec['atlas'].prefix.lib, lib,) for lib in atlas_libs]
|
cmake(".", '-DBLAS_LIBRARIES=' + blas_libs, *std_cmake_args)
|
||||||
|
|
||||||
cmake(".", '-DBLAS_LIBRARIES=' + ";".join(atlas_libs), *std_cmake_args)
|
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
|
||||||
|
|
||||||
|
28
var/spack/packages/netlib_blas/package.py
Normal file
28
var/spack/packages/netlib_blas/package.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class NetlibBlas(Package):
|
||||||
|
"""Netlib reference BLAS"""
|
||||||
|
homepage = "http://www.netlib.org/lapack/"
|
||||||
|
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
|
||||||
|
|
||||||
|
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
|
||||||
|
|
||||||
|
# virtual dependency
|
||||||
|
provides('blas')
|
||||||
|
|
||||||
|
# Doesn't always build correctly in parallel
|
||||||
|
parallel = False
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
symlink('make.inc.example', 'make.inc')
|
||||||
|
make('blaslib')
|
||||||
|
|
||||||
|
# Tests that blas builds correctly
|
||||||
|
make('blas_testing')
|
||||||
|
|
||||||
|
# No install provided
|
||||||
|
mkdirp(prefix.lib)
|
||||||
|
install('librefblas.a', prefix.lib)
|
||||||
|
|
||||||
|
# Blas virtual package should provide blas.a
|
||||||
|
symlink(prefix.lib + '/librefblas.a', prefix.lib + '/blas.a')
|
Loading…
Reference in New Issue
Block a user