summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/build_systems/python.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/spack/spack/build_systems/python.py b/lib/spack/spack/build_systems/python.py
index c791ab804f..0d03813ddf 100644
--- a/lib/spack/spack/build_systems/python.py
+++ b/lib/spack/spack/build_systems/python.py
@@ -319,9 +319,12 @@ class PythonPackage(PythonExtension):
def headers(self):
"""Discover header files in platlib."""
+ # Remove py- prefix in package name
+ name = self.spec.name[3:]
+
# Headers may be in either location
- include = self.prefix.join(self.spec["python"].package.include)
- platlib = self.prefix.join(self.spec["python"].package.platlib)
+ include = self.prefix.join(self.spec["python"].package.include).join(name)
+ platlib = self.prefix.join(self.spec["python"].package.platlib).join(name)
headers = fs.find_all_headers(include) + fs.find_all_headers(platlib)
if headers:
@@ -335,13 +338,14 @@ class PythonPackage(PythonExtension):
"""Discover libraries in platlib."""
# Remove py- prefix in package name
- library = "lib" + self.spec.name[3:].replace("-", "?")
- root = self.prefix.join(self.spec["python"].package.platlib)
+ name = self.spec.name[3:]
+
+ root = self.prefix.join(self.spec["python"].package.platlib).join(name)
+
+ libs = fs.find_all_libraries(root, recursive=True)
- for shared in [True, False]:
- libs = fs.find_libraries(library, root, shared=shared, recursive=True)
- if libs:
- return libs
+ if libs:
+ return libs
msg = "Unable to recursively locate {} libraries in {}"
raise NoLibrariesError(msg.format(self.spec.name, root))