plasma: extract plasma changes from xsdk-0.3.0 (#6280)

* plasma: extract plasma changes from xsdk-0.3.0

* plasma: cleanup per review
- netlib-lapack: add support for spec['lapack:c'].libs, spec['blas:c'].libs
- add getblaslapacklibs() to eliminate duplicate code in edit() and build_targets()
- eliminate string manipulation of ld_flags

- remove gfortran check (will check later)
- remove build() (will check later)

* netlib-lapack: fix tuple per review

* netlib-lapack: use  spec[lapack:c,fortran]
This commit is contained in:
Satish Balay
2017-11-27 13:38:10 -06:00
committed by Todd Gamblin
parent 557309618f
commit 23bedc276c
3 changed files with 77 additions and 11 deletions

View File

@@ -73,15 +73,47 @@ def patch(self):
@property
def blas_libs(self):
shared = True if '+shared' in self.spec else False
query_parameters = self.spec.last_query.extra_parameters
query2libraries = {
tuple(): ['libblas'],
('c', 'fortran'): [
'libcblas',
'libblas',
],
('c',): [
'libcblas',
],
('fortran',): [
'libblas',
]
}
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
return find_libraries(
'libblas', root=self.prefix, shared=shared, recurse=True
libraries, root=self.prefix, shared=shared, recurse=True
)
@property
def lapack_libs(self):
shared = True if '+shared' in self.spec else False
query_parameters = self.spec.last_query.extra_parameters
query2libraries = {
tuple(): ['liblapack'],
('c', 'fortran'): [
'liblapacke',
'liblapack',
],
('c',): [
'liblapacke',
],
('fortran',): [
'liblapack',
]
}
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
return find_libraries(
'liblapack', root=self.prefix, shared=shared, recurse=True
libraries, root=self.prefix, shared=shared, recurse=True
)
def install_one(self, spec, prefix, shared):