mirror of https://github.com/python/cpython
Fix get_python_inc() to work when building in a directory separate from
the source. Also, define 'srcdir' on non-posix platforms.
This commit is contained in:
parent
ecd2afa452
commit
444df45739
|
@ -73,14 +73,17 @@ def get_python_inc(plat_specific=0, prefix=None):
|
|||
prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
if os.name == "posix":
|
||||
if python_build:
|
||||
# Assume the executable is in the build directory. The
|
||||
# pyconfig.h file should be in the same directory. Since
|
||||
# the build directory may not be the source directory, we
|
||||
# must use "srcdir" from the makefile to find the "Include"
|
||||
# directory.
|
||||
base = os.path.dirname(os.path.abspath(sys.executable))
|
||||
if plat_specific:
|
||||
inc_dir = base
|
||||
return base
|
||||
else:
|
||||
inc_dir = os.path.join(base, "Include")
|
||||
if not os.path.exists(inc_dir):
|
||||
inc_dir = os.path.join(os.path.dirname(base), "Include")
|
||||
return inc_dir
|
||||
incdir = os.path.join(get_config_var('srcdir'), 'Include')
|
||||
return os.path.normpath(incdir)
|
||||
return os.path.join(prefix, "include", "python" + get_python_version())
|
||||
elif os.name == "nt":
|
||||
return os.path.join(prefix, "include")
|
||||
|
@ -521,6 +524,9 @@ def get_config_vars(*args):
|
|||
_config_vars['prefix'] = PREFIX
|
||||
_config_vars['exec_prefix'] = EXEC_PREFIX
|
||||
|
||||
if 'srcdir' not in _config_vars:
|
||||
_config_vars['srcdir'] = project_base
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
kernel_version = os.uname()[2] # Kernel version (8.4.3)
|
||||
major_version = int(kernel_version.split('.')[0])
|
||||
|
|
Loading…
Reference in New Issue