Compare commits
1 Commits
hs/revert/
...
bugfix/ext
Author | SHA1 | Date | |
---|---|---|---|
![]() |
47a1ed8d91 |
@@ -2,6 +2,7 @@
|
|||||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
import glob
|
||||||
import inspect
|
import inspect
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
@@ -223,8 +224,8 @@ def headers(self):
|
|||||||
"""Discover header files in platlib."""
|
"""Discover header files in platlib."""
|
||||||
|
|
||||||
# Headers may be in either location
|
# Headers may be in either location
|
||||||
include = self.prefix.join(self.spec["python"].package.include)
|
include = self.prefix.join(self.include)
|
||||||
platlib = self.prefix.join(self.spec["python"].package.platlib)
|
platlib = self.prefix.join(self.platlib)
|
||||||
headers = fs.find_all_headers(include) + fs.find_all_headers(platlib)
|
headers = fs.find_all_headers(include) + fs.find_all_headers(platlib)
|
||||||
|
|
||||||
if headers:
|
if headers:
|
||||||
@@ -233,13 +234,29 @@ def headers(self):
|
|||||||
msg = "Unable to locate {} headers in {} or {}"
|
msg = "Unable to locate {} headers in {} or {}"
|
||||||
raise NoHeadersError(msg.format(self.spec.name, include, platlib))
|
raise NoHeadersError(msg.format(self.spec.name, include, platlib))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def include(self):
|
||||||
|
include = glob.glob(self.prefix.include.join("python*"))
|
||||||
|
if include:
|
||||||
|
return include[0]
|
||||||
|
return self.spec["python"].package.include
|
||||||
|
|
||||||
|
@property
|
||||||
|
def platlib(self):
|
||||||
|
for libname in ("lib", "lib64"):
|
||||||
|
platlib = glob.glob(self.prefix.join(libname).join("python*").join("site-packages"))
|
||||||
|
if platlib:
|
||||||
|
return platlib[0]
|
||||||
|
|
||||||
|
return self.spec["python"].package.platlib
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def libs(self):
|
def libs(self):
|
||||||
"""Discover libraries in platlib."""
|
"""Discover libraries in platlib."""
|
||||||
|
|
||||||
# Remove py- prefix in package name
|
# Remove py- prefix in package name
|
||||||
library = "lib" + self.spec.name[3:].replace("-", "?")
|
library = "lib" + self.spec.name[3:].replace("-", "?")
|
||||||
root = self.prefix.join(self.spec["python"].package.platlib)
|
root = self.prefix.join(self.platlib)
|
||||||
|
|
||||||
for shared in [True, False]:
|
for shared in [True, False]:
|
||||||
libs = fs.find_libraries(library, root, shared=shared, recursive=True)
|
libs = fs.find_libraries(library, root, shared=shared, recursive=True)
|
||||||
|
Reference in New Issue
Block a user