buildroot/package/python/python-002-fix-get-python-inc.patch
Thomas Petazzoni 7e960dc9da python: bump to 2.7.6
Even though jumping from 2.7.3 to 2.7.6 looks like a minor version
bump, it is in fact a fairly significant one, because a good number of
changes to help cross-compilation have been merged into Python
upstream. Therefore, most of our patches are affected by this change.

In detail, this commit:

 * Renames all the patches to follow the naming convention of patches
   in Buildroot: the patch file names should not have any version
   number.

 * The patches numbered above 100, that add configuration options to
   disable certain modules of the Python standard library, are only
   renamed and slightly adapted, they didn't change that much.

 * The patches numbered below 100 are almost entirely rewritten: many
   of the cross-compilation problems that used to exist in Python
   2.7.3 no longer exist, and the number of remaining problems is
   smaller, and can be fixed with smaller patches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-14 21:41:43 +01:00

37 lines
1.8 KiB
Diff

Fix get_python_inc() for cross-compilation
When we are cross compiling, doing os.path.dirname(sys.executable) to
get the build directory is incorrect, because we're executing the host
Python to build things for the target. Instead, we should use the
project_base variable.
This fixes cross-compilation, which was adding incorrect header paths
pointing to the location where the host Python was built:
/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \
-I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \
-I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \
-c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \
-o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o
This patch allows to fix the
/home/thomas/projets/buildroot/output/host/usr/bin/Include and
/home/thomas/projets/buildroot/output/host/usr/bin paths that are
incorrectly added to the header paths.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/Lib/distutils/sysconfig.py
===================================================================
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -79,7 +79,7 @@
if os.name == "posix":
if python_build:
- buildir = os.path.dirname(sys.executable)
+ buildir = project_base
if plat_specific:
# python.h is located in the buildir
inc_dir = buildir