cc/gcc: use proper host compiler for canadian bare-metal

While compiling a canadian toolchain for host=mingw32, build=linux,
target=m68k-elf the build fails because in this step of the gcc build
the Host compiler is used in this stage with the build-flags for the
build system. This results in an error where the header <sys/wait.h>
cannot be found.
This problem happens at least in the GCC-4.3.x and GCC-4.4.x range.

This is solved by passing the proper compilers on the Make cmd-line

Signed-off-by: Remy Bohmer <linux@bohmer.net>
This commit is contained in:
Remy Bohmer 2010-04-09 21:04:37 +02:00
parent 76ae48462a
commit 9c6c090d7b

View File

@ -238,7 +238,19 @@ do_cc_core() {
install_rules="install-gcc"
fi
CT_DoExecLog ALL make ${PARALLELMFLAGS} -C gcc ${libgcc_rule}
# On bare metal and canadian build the host-compiler is used when
# actually the build-system compiler is required. Choose the correct
# compilers for canadian build and use the defaults on other
# configurations.
if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then
repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \
GCC_FOR_TARGET=${CT_TARGET}-gcc"
else
repair_cc=""
fi
CT_DoExecLog ALL make ${PARALLELMFLAGS} -C gcc ${libgcc_rule} \
${repair_cc}
sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule}
else # build_libgcc
build_rules="all-gcc"