summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/build_systems/intel.py13
-rw-r--r--var/spack/repos/builtin/packages/intel-mkl/package.py14
-rw-r--r--var/spack/repos/builtin/packages/intel-parallel-studio/package.py14
3 files changed, 10 insertions, 31 deletions
diff --git a/lib/spack/spack/build_systems/intel.py b/lib/spack/spack/build_systems/intel.py
index 7bc32d61e2..7882d55f87 100644
--- a/lib/spack/spack/build_systems/intel.py
+++ b/lib/spack/spack/build_systems/intel.py
@@ -935,18 +935,25 @@ class IntelPackage(PackageBase):
@property
def libs(self):
result = LibraryList([])
+ if '+tbb' in self.spec or self.provides('tbb'):
+ result = self.tbb_libs + result
+ if '+mkl' in self.spec or self.provides('blas'):
+ result = self.blas_libs + result
+ if '+mkl' in self.spec or self.provides('lapack'):
+ result = self.lapack_libs + result
if '+mpi' in self.spec or self.provides('mpi'):
# If prefix is too general, recursive searches may get files from
# supported but inappropriate sub-architectures like 'mic'.
libnames = ['libmpifort', 'libmpi']
if 'cxx' in self.spec.last_query.extra_parameters:
libnames = ['libmpicxx'] + libnames
- result += find_libraries(
+ result = find_libraries(
libnames,
root=self.component_lib_dir('mpi'),
- shared=True, recursive=True)
+ shared=True, recursive=True) + result
- # NB: MKL uses domain-specifics: blas_libs/lapack_libs/scalapack_libs
+ if '+mkl' in self.spec or self.provides('scalapack'):
+ result = self.scalapack_libs + result
debug_print(result)
return result
diff --git a/var/spack/repos/builtin/packages/intel-mkl/package.py b/var/spack/repos/builtin/packages/intel-mkl/package.py
index e447d88894..2ed678df1f 100644
--- a/var/spack/repos/builtin/packages/intel-mkl/package.py
+++ b/var/spack/repos/builtin/packages/intel-mkl/package.py
@@ -6,7 +6,6 @@
import sys
from spack import *
-from spack.build_systems.intel import debug_print
class IntelMkl(IntelPackage):
@@ -65,16 +64,3 @@ class IntelMkl(IntelPackage):
if sys.platform == 'darwin':
# there is no libmkl_gnu_thread on macOS
conflicts('threads=openmp', when='%gcc')
-
- @property
- def libs(self):
- libs = LibraryList([])
- if self.provides('blas'):
- libs = self.blas_libs
- if self.provides('lapack'):
- libs = self.lapack_libs + libs
- if self.provides('scalapack'):
- libs = self.scalapack_libs + libs
-
- debug_print(libs)
- return libs
diff --git a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
index b0793adf5f..8eaef6bf9a 100644
--- a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
+++ b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
@@ -4,7 +4,6 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
-from spack.build_systems.intel import debug_print
class IntelParallelStudio(IntelPackage):
@@ -196,16 +195,3 @@ class IntelParallelStudio(IntelPackage):
'F90': spack_fc,
'FC': spack_fc,
})
-
- @property
- def libs(self):
- libs = LibraryList([])
- if self.provides('blas'):
- libs = self.blas_libs
- if self.provides('lapack'):
- libs = self.lapack_libs + libs
- if self.provides('scalapack'):
- libs = self.scalapack_libs + libs
-
- debug_print(libs)
- return libs