diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2012-11-07 05:01:21 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2012-11-08 00:10:23 +0100 |
commit | 03c4d57f1d9e2b0f516afdd7e7b3f082694d3c0a (patch) | |
tree | 6468647d08879169eaaf2bd2d61c64471f905b5a /package/python3/python3-3.3-010-distutils-cross-compilation-support.patch | |
parent | a32fa707e5d79c92908bb81142b00afe81a3e3e2 (diff) | |
download | buildroot-03c4d57f1d9e2b0f516afdd7e7b3f082694d3c0a.tar.gz buildroot-03c4d57f1d9e2b0f516afdd7e7b3f082694d3c0a.zip |
Add python3 package
[Peter: s/python/python3/]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/python3/python3-3.3-010-distutils-cross-compilation-support.patch')
-rw-r--r-- | package/python3/python3-3.3-010-distutils-cross-compilation-support.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/package/python3/python3-3.3-010-distutils-cross-compilation-support.patch b/package/python3/python3-3.3-010-distutils-cross-compilation-support.patch new file mode 100644 index 0000000000..0a51400bf5 --- /dev/null +++ b/package/python3/python3-3.3-010-distutils-cross-compilation-support.patch @@ -0,0 +1,71 @@ +Add some cross-compilation fixes to distutils + +Inspired by work done by Marc Kleine-Budde <mkl@pengutronix.de> in +PTXdist. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + Lib/distutils/sysconfig.py | 17 +++++++++++++---- + configure.ac | 8 +++++++- + 2 files changed, 20 insertions(+), 5 deletions(-) + +Index: Python-3.3.0/Lib/distutils/sysconfig.py +=================================================================== +--- Python-3.3.0.orig/Lib/distutils/sysconfig.py ++++ Python-3.3.0/Lib/distutils/sysconfig.py +@@ -16,15 +16,24 @@ + from .errors import DistutilsPlatformError + + # These are needed in a couple of spots, so just compute them once. +-PREFIX = os.path.normpath(sys.prefix) +-EXEC_PREFIX = os.path.normpath(sys.exec_prefix) ++EXECUTABLE_DIRNAME = os.path.dirname(os.path.realpath(sys.executable)) ++if os.environ.get('CROSS_COMPILING') == 'yes': ++ _sysroot=os.environ.get('_python_sysroot') ++ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix')) ++ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix')) ++ if '_python_srcdir' in os.environ: ++ EXECUTABLE_DIRNAME = os.path.normpath(os.environ['_python_srcdir']) ++else: ++ PREFIX = os.path.normpath(sys.prefix) ++ EXEC_PREFIX = os.path.normpath(sys.exec_prefix) ++ + BASE_PREFIX = os.path.normpath(sys.base_prefix) + BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) + + # Path to the base directory of the project. On Windows the binary may + # 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 = EXECUTABLE_DIRNAME + 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 +@@ -98,7 +107,7 @@ + # the build directory may not be the source directory, we + # must use "srcdir" from the makefile to find the "Include" + # directory. +- base = _sys_home or os.path.dirname(os.path.abspath(sys.executable)) ++ base = _sys_home or EXECUTABLE_DIRNAME + if plat_specific: + return base + if _sys_home: +Index: Python-3.3.0/configure.ac +=================================================================== +--- Python-3.3.0.orig/configure.ac ++++ Python-3.3.0/configure.ac +@@ -963,7 +963,13 @@ + fi + + if test "$cross_compiling" = yes; then +- RUNSHARED= ++ RUNSHARED=" \ ++ CROSS_COMPILING=yes \ ++ _python_cross_host=${ac_cv_host} \ ++ _python_sysroot=\"\$(sysroot)\" \ ++ _python_srcdir=\"\$(srcdir)\" \ ++ _python_prefix=\"\$(prefix)\" \ ++ _python_exec_prefix=\"\$(exec_prefix)\"" + fi + + AC_MSG_RESULT($LDLIBRARY) |