6 --with-headers
=$(TOOLCHAIN_DIR
)/include \
7 --disable-libsanitizer \
8 --enable-languages
=$(TARGET_LANGUAGES
) \
11 --with-slibdir
=$(TOOLCHAIN_DIR
)/lib
13 ifneq ($(CONFIG_GCC_VERSION_4_5
)$(CONFIG_GCC_VERSION_4_6
),)
16 --with-libelf
=$(TOPDIR
)/staging_dir
/host
20 GCC_MAKE
+= gcc_cv_libc_provides_ssp
=yes
23 ifneq ($(CONFIG_SJLJ_EXCEPTIONS
),)
25 --enable-sjlj-exceptions
28 define CleanupToolchain
29 $(INSTALL_DIR
) $(TOOLCHAIN_DIR
)/$(REAL_GNU_TARGET_NAME
)
30 # Important! Required for limits.h to be fixed.
31 rm -rf
$(TOOLCHAIN_DIR
)/$(REAL_GNU_TARGET_NAME
)/sys-include
32 ln
-sf ..
/include $(TOOLCHAIN_DIR
)/$(REAL_GNU_TARGET_NAME
)/sys-include
33 rm -rf
$(TOOLCHAIN_DIR
)/$(REAL_GNU_TARGET_NAME
)/lib
34 ln
-sf ..
/lib
$(TOOLCHAIN_DIR
)/$(REAL_GNU_TARGET_NAME
)/lib
35 $(if
$(CONFIG_ARCH_64BIT
),ln
-sf ..
/lib64
$(TOOLCHAIN_DIR
)/$(REAL_GNU_TARGET_NAME
)/lib64
)
40 mkdir
-p
$(GCC_BUILD_DIR
)
41 (cd
$(GCC_BUILD_DIR
) && rm -f config.cache
; \
47 +$(GCC_MAKE
) $(HOST_JOBS
) -C
$(GCC_BUILD_DIR
) all
51 for app in
$(TOOLCHAIN_DIR
)/bin
/$(OPTIMIZE_FOR_CPU
)*-{gcc
,gcc-
*,g
++}; do \
52 [ -e
$$$$app ] || continue
; \
53 old_base
=$$$$(basename $$$$app); \
54 new_base
=$(call qstrip
,$(CONFIG_EXTRA_TARGET_ARCH_NAME
))-$$$${old_base
##$(OPTIMIZE_FOR_CPU)-}; \
55 sed
-e
"s/@CC_BASE@/$$$$old_base/" \
56 -e
's/@EXTRA_ARCH_OPTS@/$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_OPTS))/' \
57 ..
/files
/alternate-arch-cc.in
> \
58 $(TOOLCHAIN_DIR
)/bin
/$$$$new_base; \
59 chmod a
+x
$(TOOLCHAIN_DIR
)/bin
/$$$$new_base; \
65 $(_SINGLE
)$(GCC_MAKE
) -C
$(GCC_BUILD_DIR
) install
66 # Set up the symlinks to enable lying about target name.
68 (cd
$(TOOLCHAIN_DIR
); \
69 ln
-sf
$(REAL_GNU_TARGET_NAME
) $(GNU_TARGET_NAME
); \
71 for app in
$(REAL_GNU_TARGET_NAME
)-* ; do \
73 $(GNU_TARGET_NAME
)$$$${app
##$(REAL_GNU_TARGET_NAME)}; \
76 $(if
$(CONFIG_EXTRA_TARGET_ARCH
),$(call SetupExtraArch
))
77 $(RM
) $(TOOLCHAIN_DIR
)/lib
/libiberty.a
78 $(SCRIPT_DIR
)/patch-specs.sh
"$(TOOLCHAIN_DIR)"
81 $(eval
$(call HostBuild
))