Hi, I noticed that there is a subtle problem with build!=host configurations. That is, the fixinclude machinery is using the path that would work on the target system to find the headers that need to be fixed, but the build machine can have different header files than the target machine, even if th are at the same location. This can theoretically cause a mis-compilation of the target libraries. However the mkheaders script works on the target, and would fix it up, but the target libraries are not rebuilt, and they may have used the wrong fixed headers. To fix this inconsistency I would like to introduce a new make variable BUILD_SYSTEM_HEADER_DIR that is identical to SYSTEM_HEADER_DIR if build==host and which is CROSS_SYSTEM_HEADER_DIR for canadian cross configs. Only mkheaders.conf uses SYSTEM_HEADER_DIR because it runs on the host system, all other places should use BUILD_SYSTEM_HEADER_DIR. I tested this change with different arm-linux-gnueabihf cross compilers, and verified that mkheaders still works on the host system. Bootstrapped and reg-tested on x86_64-pc-linux-gnu. Is it OK for trunk? Thanks Bernd.