When cross compiling python, we used to need to install the Makefile, pyconfig.h and the python library to their final location before being able to compile the rest of python. This change allows us to point python at its own source when building, avoiding a variety of sysroot staging issues and simplifying the main python recipe. Upstream-Status: Inappropriate RP 2012/11/13 Index: Python-2.7.9/Lib/sysconfig.py =================================================================== --- Python-2.7.9.orig/Lib/sysconfig.py +++ Python-2.7.9/Lib/sysconfig.py @@ -93,6 +93,7 @@ _PREFIX = os.path.normpath(sys.prefix) _EXEC_PREFIX = os.path.normpath(sys.exec_prefix) _CONFIG_VARS = None _USER_BASE = None +_PYTHONBUILDDIR = os.environ.get("PYTHONBUILDDIR", None) def _safe_realpath(path): try: @@ -100,7 +101,9 @@ def _safe_realpath(path): except OSError: return path -if sys.executable: +if _PYTHONBUILDDIR: + _PROJECT_BASE = _PYTHONBUILDDIR +elif sys.executable: _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable)) else: # sys.executable can be empty if argv[0] has been changed and Python is Index: Python-2.7.9/Lib/distutils/sysconfig.py =================================================================== --- Python-2.7.9.orig/Lib/distutils/sysconfig.py +++ Python-2.7.9/Lib/distutils/sysconfig.py @@ -26,6 +26,9 @@ EXEC_PREFIX = os.path.normpath(sys.exec_ # 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)) +_PYTHONBUILDDIR = os.environ.get("PYTHONBUILDDIR", None) +if _PYTHONBUILDDIR: + project_base = _PYTHONBUILDDIR if os.name == "nt" and "pcbuild" in project_base[-8:].lower(): project_base = os.path.abspath(os.path.join(project_base, os.path.pardir)) # PC/VS7.1