| 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> |
| [Asaf: update for 2.7.17] |
| Signed-off-by: Asaf Kahlon <asafka7@gmail.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 1a4b792644..14c7d81c48 100644 |
| --- a/Lib/distutils/sysconfig.py |
| +++ b/Lib/distutils/sysconfig.py |
| @@ -85,7 +85,7 @@ def get_python_inc(plat_specific=0, prefix=None): |
| if os.name == "posix": |
| if python_build: |
| if sys.executable: |
| - buildir = os.path.dirname(sys.executable) |
| + buildir = project_base |
| else: |
| # sys.executable can be empty if argv[0] has been changed |
| # and Python is unable to retrieve the real program name |
| -- |
| 2.20.1 |
| |