When cross-compiling LLVM itself the configure/make scripts get confused when
creating the needed build host tools. For example, building and configuring
like:
CC_FOR_BUILD='i686-pc-linux-gnu-gcc' CXX_FOR_BUILD='i686-pc-linux-gnu-g++'
CXX='i686-mingw32-g++' CC='i686-mingw32-gcc' LD='i686-mingw32-ld' /scratch
/meadori/llvm-trunk/src/trunk/configure --host=i686-mingw32
CC_FOR_BUILD='i686-pc-linux-gnu-gcc' CXX_FOR_BUILD='i686-pc-linux-gnu-g++'
CXX='i686-mingw32-g++' CC='i686-mingw32-gcc' LD='i686-mingw32-ld' make
causes the following build break:
checking whether the C compiler works... configure: error: cannot run C
compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
The 'config.log' shows that i686-mingw32-gcc is being used to create
executables for the build host.
This patch fixes the problem by propogating the names of the build host
tools via BUILD_* when configuring/making BuildTools.
Original patch by Ekaterina Sanina.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204760
91177308-0d34-0410-b5e6-
96231b3b80d8
cd BuildTools ; \
unset CFLAGS ; \
unset CXXFLAGS ; \
+ AR=$(BUILD_AR) ; \
+ AS=$(BUILD_AS) ; \
+ LD=$(BUILD_LD) ; \
+ CC=$(BUILD_CC) ; \
+ CXX=$(BUILD_CXX) ; \
unset SDKROOT ; \
unset UNIVERSAL_SDK_PATH ; \
configure_opts= ; \