diff options
author | Veselin Dobrev <v-dobrev@users.noreply.github.com> | 2018-03-06 01:09:20 -0800 |
---|---|---|
committer | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2018-03-06 10:09:20 +0100 |
commit | 7482cf1d9fc19b1fb0690aad490129e276a5731c (patch) | |
tree | 61d8a3410385cc1dbc7dca0b4419de45e7839930 /var | |
parent | 9c828f30684330f1d9ba710c3852a4a71b70f641 (diff) | |
download | spack-7482cf1d9fc19b1fb0690aad490129e276a5731c.tar.gz spack-7482cf1d9fc19b1fb0690aad490129e276a5731c.tar.bz2 spack-7482cf1d9fc19b1fb0690aad490129e276a5731c.tar.xz spack-7482cf1d9fc19b1fb0690aad490129e276a5731c.zip |
suite-sparse: add a package-specific 'libs' property (#7269)
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/suite-sparse/package.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/suite-sparse/package.py b/var/spack/repos/builtin/packages/suite-sparse/package.py index fd93cd6ca7..2f8660f496 100644 --- a/var/spack/repos/builtin/packages/suite-sparse/package.py +++ b/var/spack/repos/builtin/packages/suite-sparse/package.py @@ -95,7 +95,7 @@ class SuiteSparse(Package): # with the TCOV path of SparseSuite 4.5.1's Suitesparse_config.mk, # even though this fix is ugly 'BLAS=%s' % (spec['blas'].libs.ld_flags + ( - '-lstdc++' if '@4.5.1' in spec else '')), + ' -lstdc++' if '@4.5.1' in spec else '')), 'LAPACK=%s' % spec['lapack'].libs.ld_flags, ] @@ -125,3 +125,22 @@ class SuiteSparse(Package): ] make('install', *make_args) + + @property + def libs(self): + """Export the libraries of SuiteSparse. + Sample usage: spec['suite-sparse'].libs.ld_flags + spec['suite-sparse:klu,btf'].libs.ld_flags + """ + # Component libraries, ordered by dependency. Any missing components? + all_comps = ['klu', 'btf', 'umfpack', 'cholmod', 'colamd', 'amd', + 'camd', 'ccolamd', 'cxsparse', 'ldl', 'rbio', 'spqr', + 'suitesparseconfig'] + query_parameters = self.spec.last_query.extra_parameters + comps = all_comps if not query_parameters else query_parameters + libs = find_libraries(['lib' + c for c in comps], root=self.prefix.lib, + shared=True, recursive=False) + if not libs: + return None + libs += find_system_libraries('librt') + return libs |