| From 367ee7d103cf9f670c3925d555edf6f6a5b9d8d5 Mon Sep 17 00:00:00 2001 |
| From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| Date: Tue, 7 Mar 2017 22:17:25 +0100 |
| Subject: [PATCH] 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> |
| --- |
| Lib/distutils/sysconfig.py | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py |
| index de7da1d..d72b6e5 100644 |
| --- a/Lib/distutils/sysconfig.py |
| +++ b/Lib/distutils/sysconfig.py |
| @@ -79,7 +79,7 @@ def get_python_inc(plat_specific=0, prefix=None): |
| |
| 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 |
| -- |
| 2.7.4 |
| |