◐ Shell
clean mode source ↗

Message 207805 - Python tracker

In the cross-compilation case, setup.py incorrectly adds /usr/include to self.compiler.include_dirs, and results in the following invalid compilation line:

/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc
  -fPIC -Wno-unused-result -Werror=declaration-after-statement -DNDEBUG -g
  -O3 -Wall -Wstrict-prototypes -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
  -D_FILE_OFFSET_BITS=64 -pipe -Os
  -I./Include -I/usr/include -I. -IInclude
  -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include
  -I/home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Include
  -I/home/thomas/projets/buildroot/output/build/python3-3.4.0b1
  -c /home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Modules/_struct.c
  -o build/temp.linux-arm-3.4/home/thomas/projets/buildroot/output/build/python3-3.4.0b1/Modules/_struct.o
cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]

The -I/usr/include is wrong when cross compiling, so we disable adding INCLUDEDIR and LIBDIR from the host when cross compiling.