Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | The OE environment sets and exports CPP as being the target gcc. When building |
| 2 | gcc-cross-canadian for a mingw targetted sdk, the following can be found in |
| 3 | build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log: |
| 4 | |
| 5 | configure:3641: checking for _FILE_OFFSET_BITS value needed for large files |
| 6 | configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5 |
| 7 | configure:3666: $? = 0 |
| 8 | configure:3698: result: no |
| 9 | configure:3786: checking how to run the C preprocessor |
| 10 | configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 |
| 11 | configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c |
| 12 | configure:3876: $? = 0 |
| 13 | |
| 14 | Note this is a *build* target (in build-x86_64-linux) so it should be using |
| 15 | the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32 headers are |
| 16 | very different, using the wrong cpp is a real problem. It is leaking into |
| 17 | configure through the CPP variable. Ultimately this leads to build failures |
| 18 | related to not being able to include a process.h file for pem-unix.c. |
| 19 | |
| 20 | The fix is to ensure we export a sane CPP value into the build environment when |
| 21 | using build targets. We could define a CPP_FOR_BUILD value which may be the version |
| 22 | which needs to be upstreamed but for now, this fix is good enough to avoid the |
| 23 | problem. |
| 24 | |
| 25 | RP 22/08/2013 |
| 26 | |
| 27 | Upstream-Status: Pending |
| 28 | |
| 29 | Index: gcc-4.8.1/Makefile.in |
| 30 | =================================================================== |
| 31 | --- gcc-4.8.1.orig/Makefile.in 2013-03-30 11:25:03.000000000 +0000 |
| 32 | +++ gcc-4.8.1/Makefile.in 2013-08-13 12:03:17.151988882 +0000 |
| 33 | @@ -149,6 +149,7 @@ |
| 34 | AR="$(AR_FOR_BUILD)"; export AR; \ |
| 35 | AS="$(AS_FOR_BUILD)"; export AS; \ |
| 36 | CC="$(CC_FOR_BUILD)"; export CC; \ |
| 37 | + CPP="$(CC_FOR_BUILD) -E"; export CPP; \ |
| 38 | CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ |
| 39 | CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ |
| 40 | CXX="$(CXX_FOR_BUILD)"; export CXX; \ |