Add include/pythonX.Y to CPATH (#14523)

This commit is contained in:
Adam J. Stewart 2020-01-16 15:21:14 -06:00 committed by GitHub
parent 0f68ed73c6
commit 7a61d1dbd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -678,14 +678,20 @@ def libs(self):
@property
def headers(self):
config_h = self.get_config_h_filename()
try:
config_h = self.get_config_h_filename()
if not os.path.exists(config_h):
includepy = self.get_config_var('INCLUDEPY')
msg = 'Unable to locate {0} headers in {1}'
raise RuntimeError(msg.format(self.name, includepy))
if not os.path.exists(config_h):
includepy = self.get_config_var('INCLUDEPY')
msg = 'Unable to locate {0} headers in {1}'
raise RuntimeError(msg.format(self.name, includepy))
headers = HeaderList(config_h)
except ProcessError:
headers = find_headers(
'pyconfig', self.prefix.include, recursive=True)
config_h = headers[0]
headers = HeaderList(config_h)
headers.directories = [os.path.dirname(config_h)]
return headers
@ -705,6 +711,9 @@ def site_packages_dir(self):
def easy_install_file(self):
return join_path(self.site_packages_dir, "easy-install.pth")
def setup_run_environment(self, env):
env.prepend_path('CPATH', os.pathsep.join(self.headers.directories))
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set PYTHONPATH to include the site-packages directory for the
extension and any other python extensions it depends on."""