X-Git-Url: http://git.ozo.com/?p=openwrt-10.03%2F.git;a=blobdiff_plain;f=toolchain%2Fgcc%2FMakefile;h=955248e81df9a76d22466695d2e843323a06cb22;hp=fdcee3f2176d14f12a4dd1948ceb7dd22a9143b3;hb=db196bcbf961bcc074d5e74fd58add2d0aa06d4c;hpb=1c0fd705a61e72e315c96bec639b34ecc1c33494
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index fdcee3f21..955248e81 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -54,6 +54,12 @@ else
ifeq ($(PKG_VERSION),4.4.0)
PKG_MD5SUM:=cf5d787bee57f38168b74d65a7c0e6fd
endif
+ ifeq ($(PKG_VERSION),4,4,1)
+ PKG_MD5SUM:=927eaac3d44b22f31f9c83df82f26436
+ endif
+ ifeq ($(PKG_VERSION),4.4.2)
+ PKG_MD5SUM:=70f5ac588a79e3c9901d5b34f58d896d
+ endif
endif
PATCH_DIR=./patches/$(GCC_VERSION)
@@ -69,6 +75,8 @@ HOST_BUILD_DIR2:=$(HOST_BUILD_DIR)-final
SEP:=,
TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)"
+export libgcc_cv_fixed_point=no
+
GCC_CONFIGURE:= \
SHELL="$(BASH)" \
$(HOST_BUILD_DIR)/configure \
@@ -82,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) \
@@ -143,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) \
@@ -233,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; \
@@ -240,18 +255,26 @@ 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
+BUGURL=https://dev.openwrt.org/
+
define Host/Prepare
$(call Host/SetToolchainInfo)
$(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\2,' $(HOST_BUILD_DIR)/gcc/version.c
+ $(SED) 's,\(bug_report_url.. = "\).*\(";\),\1\2,' $(HOST_BUILD_DIR)/gcc/version.c
+ $(SED) 's,http://gcc.gnu.org/bugs.html,$(BUGURL),' $(HOST_BUILD_DIR)/gcc/configure
#(cd $(HOST_BUILD_DIR)/libstdc++-v3; autoconf;);
$(SED) 's,gcc_no_link=yes,gcc_no_link=no,' $(HOST_BUILD_DIR)/libstdc++-v3/configure
$(call Stage0/Configure)