From 1f1ea2c8596c8b2985a39a81f8e9a53422bff9a2 Mon Sep 17 00:00:00 2001 From: Denis Davydov Date: Tue, 9 Apr 2019 22:54:21 +0200 Subject: intel: consolidate libs() in the base class (#11143) * intel: consolidate libs() in the base class * white space * flake8 --- lib/spack/spack/build_systems/intel.py | 13 ++++++++++--- var/spack/repos/builtin/packages/intel-mkl/package.py | 14 -------------- .../builtin/packages/intel-parallel-studio/package.py | 14 -------------- 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 -- cgit v1.2.3-70-g09d2