add md5sums for binutils & gcc and use the GNU mirror facility
[openwrt/staging/wigyori.git] / toolchain / gcc / Makefile
index 875c37582d23c5f9a6716e5cde71bdf321e197a6..adf665fc41d2feab042369bcccb930d527eb872b 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gcc
-PKG_VERSION:=$(strip $(subst ",, $(CONFIG_GCC_VERSION)))#"))
+PKG_VERSION:=$(call qstrip,$(CONFIG_GCC_VERSION))
+
+PKG_SOURCE_URL:=@GNU/gcc/gcc-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+
+ifeq ($(PKG_VERSION),3.4.6)
+  PKG_MD5SUM:=4a21ac777d4b5617283ce488b808da7b
+endif
+ifeq ($(PKG_VERSION),4.1.2)
+  PKG_MD5SUM:=a4a3eb15c96030906d8494959eeda23c
+endif
+ifeq ($(PKG_VERSION),4.2.0)
+  PKG_MD5SUM:=4798c23548dc791ea12a139e18940684
+endif
+ifeq ($(PKG_VERSION),4.2.1)
+  PKG_MD5SUM:=cba410e6ff70f7d7f4be7a0267707fd0
+endif
+ifeq ($(PKG_VERSION),4.2.2)
+  PKG_MD5SUM:=7ae33781417a35a2eb03ee098a9f4490
+endif
+ifeq ($(PKG_VERSION),4.2.3)
+  PKG_MD5SUM:=ef2a4d9991b3644115456ea05b2b8163
+endif
+ifeq ($(PKG_VERSION),4.2.4)
+  PKG_MD5SUM:=d79f553e7916ea21c556329eacfeaa16
+endif
 
 PATCH_DIR=./patches/$(PKG_VERSION)
-PKG_SOURCE_URL:=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(PKG_VERSION) \
-       http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(PKG_VERSION) \
-       ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(PKG_VERSION)
-PKG_SOURCE:=gcc-$(PKG_VERSION).tar.bz2
+
 STAGING_DIR_HOST:=$(TOOLCHAIN_DIR)
 BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
+override CONFIG_AUTOREBUILD=
 
 include $(INCLUDE_DIR)/host-build.mk
 
@@ -40,6 +63,12 @@ BUILD_DIR2:=$(BUILD_DIR_HOST)/gcc-$(PKG_VERSION)-final
 SEP:=,
 TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)"
 
+ifeq ($(CONFIG_SSP_SUPPORT),y)
+  SSP:=--enable-ssp
+else
+  SSP:=--disable-ssp
+endif
+
 EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-biarch --enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-uclibc)
 
 define Stage1/Configure
@@ -62,6 +91,7 @@ define Stage1/Configure
                --disable-nls \
                --disable-libmudflap \
                --disable-multilib \
+               $(SSP) \
                $(EXTRA_TARGET) \
                $(SOFT_FLOAT_CONFIG_OPTION) \
                $(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
@@ -75,7 +105,7 @@ define Stage1/Install
 endef
 
 define Stage2/Configure
-       mkdir -p $(BUILD_DIR2)
+       mkdir -p $(BUILD_DIR2) $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)
        # Important!  Required for limits.h to be fixed.
        rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
        ln -sf ../include $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
@@ -96,6 +126,7 @@ define Stage2/Configure
                --disable-nls \
                --disable-libmudflap \
                --disable-multilib \
+               $(SSP) \
                $(EXTRA_TARGET) \
                $(SOFT_FLOAT_CONFIG_OPTION) \
                $(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \