add some fixes for v1 hardware (doesn't work reliably yet)
[openwrt.git] / openwrt / toolchain / binutils / binutils.mk
index afbb63a..a3a623e 100644 (file)
@@ -3,17 +3,35 @@
 # build binutils for use on the host system
 #
 #############################################################
-BINUTILS_VERSION:=$(strip $(BINUTILS_VERSION))
+BINUTILS_VERSION:=$(strip $(subst ",, $(BR2_BINUTILS_VERSION)))
 
-BINUTILS_SITE:=http://ftp.kernel.org/pub/linux/devel/binutils
+BINUTILS_SITE:=http://www.fr.kernel.org/pub/linux/devel/binutils \
+              http://www.fi.kernel.org/pub/linux/devel/binutils \
+              http://ftp.kernel.org/pub/linux/devel/binutils \
+              http://www.de.kernel.org/pub/linux/devel/binutils
 ifeq ($(BINUTILS_VERSION),2.15)
-BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/
+BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/ \
+       ftp://gatekeeper.dec.com/pub/GNU/ \
+        ftp://ftp.uu.net/archive/systems/gnu/ \
+        ftp://ftp.eu.uu.net/pub/gnu/ \
+        ftp://ftp.funet.fi/pub/gnu/prep/ \
+        ftp://ftp.leo.org/pub/comp/os/unix/gnu/ 
 endif
 ifeq ($(BINUTILS_VERSION),2.14)
-BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/
+BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/ \
+       ftp://gatekeeper.dec.com/pub/GNU/ \
+        ftp://ftp.uu.net/archive/systems/gnu/ \
+        ftp://ftp.eu.uu.net/pub/gnu/ \
+        ftp://ftp.funet.fi/pub/gnu/prep/ \
+        ftp://ftp.leo.org/pub/comp/os/unix/gnu/ 
 endif
 ifeq ($(BINUTILS_VERSION),2.13)
-BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/
+BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/ \
+       ftp://gatekeeper.dec.com/pub/GNU/ \
+        ftp://ftp.uu.net/archive/systems/gnu/ \
+        ftp://ftp.eu.uu.net/pub/gnu/ \
+        ftp://ftp.funet.fi/pub/gnu/prep/ \
+        ftp://ftp.leo.org/pub/comp/os/unix/gnu/ 
 endif
 
 BINUTILS_SOURCE:=binutils-$(BINUTILS_VERSION).tar.bz2
@@ -24,7 +42,7 @@ BINUTILS_DIR1:=$(TOOL_BUILD_DIR)/binutils-$(BINUTILS_VERSION)-build
 
 $(DL_DIR)/$(BINUTILS_SOURCE):
        mkdir -p $(DL_DIR)
-       $(WGET) -P $(DL_DIR) $(BINUTILS_SITE)/$(BINUTILS_SOURCE)
+       $(SCRIPT_DIR)/download.pl $(DL_DIR) $(BINUTILS_SOURCE) x $(BINUTILS_SITE)
 
 $(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE)
        mkdir -p $(TOOL_BUILD_DIR)
@@ -33,7 +51,8 @@ $(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE)
 
 $(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked
        # Apply appropriate binutils patches.
-       toolchain/patch-kernel.sh $(BINUTILS_DIR) toolchain/binutils/$(BINUTILS_VERSION) \*.patch
+       $(SCRIPT_DIR)/patch-kernel.sh $(BINUTILS_DIR) ./all \*.patch
+       $(SCRIPT_DIR)/patch-kernel.sh $(BINUTILS_DIR) ./$(BINUTILS_VERSION) \*.patch
        touch $(BINUTILS_DIR)/.patched
 
 $(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
@@ -44,6 +63,7 @@ $(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
                --build=$(GNU_HOST_NAME) \
                --host=$(GNU_HOST_NAME) \
                --target=$(REAL_GNU_TARGET_NAME) \
+               --disable-werror \
                $(DISABLE_NLS) \
                $(MULTILIB) \
                $(SOFT_FLOAT_CONFIG_OPTION) );
@@ -54,10 +74,10 @@ $(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured
 
 # Make install will put gettext data in staging_dir/share/locale.
 # Unfortunatey, it isn't configureable.
-$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump
+$(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-ld: $(BINUTILS_DIR1)/binutils/objdump
        $(MAKE) -C $(BINUTILS_DIR1) install
 
-binutils-dependancies:
+binutils-dependencies:
        @if ! which bison > /dev/null ; then \
                echo -e "\n\nYou must install 'bison' on your build machine\n"; \
                exit 1; \
@@ -71,7 +91,7 @@ binutils-dependancies:
                exit 1; \
        fi;
 
-binutils: binutils-dependancies $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin/ld
+binutils: binutils-dependencies $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-ld
 
 binutils-source: $(DL_DIR)/$(BINUTILS_SOURCE)
 
@@ -79,9 +99,11 @@ binutils-clean:
        rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
        -$(MAKE) -C $(BINUTILS_DIR1) clean
 
-binutils-dirclean:
+binutils-toolclean:
        rm -rf $(BINUTILS_DIR1)
 
+binutils-distclean:
+       rm -rf $(BINUTILS_DIR)
 
 
 #############################################################
@@ -130,5 +152,5 @@ binutils_target-clean:
        rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
        -$(MAKE) -C $(BINUTILS_DIR2) clean
 
-binutils_target-dirclean:
+binutils_target-toolclean:
        rm -rf $(BINUTILS_DIR2)
This page took 0.022511 seconds and 4 git commands to generate.