# 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
$(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)
$(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) ./$(BINUTILS_VERSION) \*.patch
+ $(SCRIPT_DIR)/patch-kernel.sh $(BINUTILS_DIR) ./all \*.patch
touch $(BINUTILS_DIR)/.patched
$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
# 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; \
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)
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)
#############################################################
rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
-$(MAKE) -C $(BINUTILS_DIR2) clean
-binutils_target-dirclean:
+binutils_target-toolclean:
rm -rf $(BINUTILS_DIR2)