summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python/builddir.patch
blob: ad629a022e9e433e28e0644def2bd529630117cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
OpenPOWER on IntegriCloud