Issue2290: Support x64 Windows builds that live in pcbuild/amd64. Without it, sysutils._python_build() returns the wrong directory, which causes the test_get_config_h_filename method in Lib/distutils/tests/test_sysconfig.py to fail.

This commit is contained in:
Trent Nelson 2008-03-19 06:28:24 +00:00
parent 16b2e6bd7f
commit b27745fb6d
1 changed files with 6 additions and 1 deletions

View File

@ -23,7 +23,8 @@ PREFIX = os.path.normpath(sys.prefix)
EXEC_PREFIX = os.path.normpath(sys.exec_prefix) EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
# Path to the base directory of the project. On Windows the binary may # Path to the base directory of the project. On Windows the binary may
# live in project/PCBuild9 # live in project/PCBuild9. If we're dealing with an x64 Windows build,
# it'll live in project/PCbuild/amd64.
project_base = os.path.dirname(os.path.abspath(sys.executable)) project_base = os.path.dirname(os.path.abspath(sys.executable))
if os.name == "nt" and "pcbuild" in project_base[-8:].lower(): if os.name == "nt" and "pcbuild" in project_base[-8:].lower():
project_base = os.path.abspath(os.path.join(project_base, os.path.pardir)) project_base = os.path.abspath(os.path.join(project_base, os.path.pardir))
@ -31,6 +32,10 @@ if os.name == "nt" and "pcbuild" in project_base[-8:].lower():
if os.name == "nt" and "\\pc\\v" in project_base[-10:].lower(): if os.name == "nt" and "\\pc\\v" in project_base[-10:].lower():
project_base = os.path.abspath(os.path.join(project_base, os.path.pardir, project_base = os.path.abspath(os.path.join(project_base, os.path.pardir,
os.path.pardir)) os.path.pardir))
# PC/AMD64
if os.name == "nt" and "\\pcbuild\\amd64" in project_base[-14:].lower():
project_base = os.path.abspath(os.path.join(project_base, os.path.pardir,
os.path.pardir))
# python_build: (Boolean) if true, we're either building Python or # python_build: (Boolean) if true, we're either building Python or
# building an extension with an un-installed Python, so we use # building an extension with an un-installed Python, so we use