mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-19 04:47:52 +00:00
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:
parent
76ae48462a
commit
9c6c090d7b
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user