Add a target (CONFIG_MAKE_CONFIG) that creates an exportable toolchain. The toolchain...
[openwrt-10.03/.git] / toolchain / gcc / Makefile
index 161c7894a597618b5e23e35700290cec19193d50..955248e81df9a76d22466695d2e843323a06cb22 100644 (file)
@@ -90,6 +90,7 @@ GCC_CONFIGURE:= \
                --disable-libmudflap \
                --disable-multilib \
                --disable-nls \
+               $(if $(CONFIG_GCC_USE_GRAPHITE),--with-host-libstdcxx=-lstdc++) \
                $(SOFT_FLOAT_CONFIG_OPTION) \
                $(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
                $(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 --with-abi=64) \
@@ -151,6 +152,10 @@ GCC_CONFIGURE_STAGE2:= \
                --disable-tls \
                --with-slibdir=$(TOOLCHAIN_DIR)/lib \
 
+ifdef CONFIG_powerpc
+  TARGET_CFLAGS := $(patsubst -Os,-O2,$(TARGET_CFLAGS))
+endif
+
 GCC_MAKE:= \
        export SHELL="$(BASH)"; \
        $(MAKE) \
@@ -241,6 +246,8 @@ define Stage2/Install
        $(GCC_MAKE) -C $(HOST_BUILD_DIR2) install
        # Set up the symlinks to enable lying about target name.
        set -e; \
+       $(CP) ./files/wrapper.sh $(TOOLCHAIN_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh
+       chmod +x $(TOOLCHAIN_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh
        (cd $(TOOLCHAIN_DIR)/usr; \
                ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \
                cd bin; \
@@ -248,6 +255,10 @@ define Stage2/Install
                        ln -sf $$$${app} \
                        $(GNU_TARGET_NAME)$$$${app##$(REAL_GNU_TARGET_NAME)}; \
                done; \
+               for app in cc gcc g++ c++ cpp ld as ; do \
+                       [ -f $(REAL_GNU_TARGET_NAME)-$$$${app} ] && mv $(REAL_GNU_TARGET_NAME)-$$$${app} $(REAL_GNU_TARGET_NAME)-$$$${app}.bin ; \
+                       ln -sf $(REAL_GNU_TARGET_NAME)-wrapper.sh $(REAL_GNU_TARGET_NAME)-$$$${app} ; \
+               done; \
        );
        $(if $(CONFIG_EXTRA_TARGET_ARCH),$(call SetupExtraArch))
 endef
@@ -260,6 +271,7 @@ define Host/Prepare
        $(call Host/Prepare/Default)
        ln -snf $(GCC_DIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME)
        $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/
+       $(SED) 's,^MULTILIB_OSDIRNAMES,# MULTILIB_OSDIRNAMES,' $(HOST_BUILD_DIR)/gcc/config/*/t-*
        $(SED) 's,\(version_string.. = "[0-9\.]*\).*\(";\),\1 (OpenWrt-2.0)\2,' $(HOST_BUILD_DIR)/gcc/version.c
        $(SED) 's,\(bug_report_url.. = "\).*\(";\),\1<URL:$(BUGURL)>\2,' $(HOST_BUILD_DIR)/gcc/version.c
        $(SED) 's,http://gcc.gnu.org/bugs.html,$(BUGURL),' $(HOST_BUILD_DIR)/gcc/configure