diff options
author | doko@python.org <doko@python.org> | 2013-01-31 22:52:03 (GMT) |
---|---|---|
committer | doko@python.org <doko@python.org> | 2013-01-31 22:52:03 (GMT) |
commit | d65e2bab3b438f883ef28245f51795b14a4c498f (patch) | |
tree | f9a237fb2be7cf175a68940f4210407842f0468a /Lib/distutils | |
parent | c5200b489de125088fdc445b5f5c97d7fb98cead (diff) | |
download | cpython-d65e2bab3b438f883ef28245f51795b14a4c498f.zip cpython-d65e2bab3b438f883ef28245f51795b14a4c498f.tar.gz cpython-d65e2bab3b438f883ef28245f51795b14a4c498f.tar.bz2 |
- Issue #17086: Backport the patches from the 3.3 branch to cross-build
the package.
Diffstat (limited to 'Lib/distutils')
-rw-r--r-- | Lib/distutils/sysconfig.py | 7 | ||||
-rw-r--r-- | Lib/distutils/util.py | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py index daa4dc7..250ef38 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py @@ -37,6 +37,11 @@ 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)) +# set for cross builds +if "_PYTHON_PROJECT_BASE" in os.environ: + # this is the build directory, at least for posix + project_base = os.path.normpath(os.environ["_PYTHON_PROJECT_BASE"]) + # python_build: (Boolean) if true, we're either building Python or # building an extension with an un-installed Python, so we use # different (hard-wired) directories. @@ -230,7 +235,7 @@ def get_config_h_filename(): def get_makefile_filename(): """Return full pathname of installed Makefile from the Python build.""" if python_build: - return os.path.join(os.path.dirname(sys.executable), "Makefile") + return os.path.join(project_base, "Makefile") lib_dir = get_python_lib(plat_specific=1, standard_lib=1) return os.path.join(lib_dir, "config", "Makefile") diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index 5279411..ea6ed8a 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -51,6 +51,10 @@ def get_platform (): return 'win-ia64' return sys.platform + # Set for cross builds explicitly + if "_PYTHON_HOST_PLATFORM" in os.environ: + return os.environ["_PYTHON_HOST_PLATFORM"] + if os.name != "posix" or not hasattr(os, 'uname'): # XXX what about the architecture? NT is Intel or Alpha, # Mac OS is M68k or PPC, etc. |