Downloading from esoteric URIs, such as Xilinx toolchain
cover Downloading from esoteric URIs, such as Xilinx toolchain
From: "Alvaro G. M" <[email protected]>
On the last days some of us have been trying to add Microblaze architecture to buildroot and specifically LX9 board support.
The second patch adds the toolchain from Xilinx, but in order to download it, it was needed to modify the DOWNLOAD_WGET routine. This is what the first patch is for. At the same time, the API was somewhat simplified and it is now a little shorter to interface with it in most cases.
I think this two patches can be applied with any changes thanks to Arnout's recommendations, so I will appreciate it if they can be applied.
The next step, in which I think Spencer is working on, is the DTS support, which can the be used for lots of different platforms.
I think I've correctly signed-off both patches, but let me know if I have used some ideas from someone and I've forgotten about it.
Alvaro G. M (2):
DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL,
$2=FILE_NAME
Microblaze: added external toolchain from Xilinx
docs/manual/adding-packages-handwritten.txt | 2 +- linux/linux.mk | 2 +- package/Makefile.package.in | 18 +++++++++++------- package/cups/cups.mk | 2 +- package/fis/fis.mk | 2 +- package/games/doom-wad/doom-wads.mk | 2 +- package/gettext/gettext.mk | 2 +- package/microperl/microperl.mk | 2 +- package/netkitbase/netkitbase.mk | 2 +- package/netkittelnet/netkittelnet.mk | 2 +- package/newt/newt.mk | 2 +- package/tinyhttpd/tinyhttpd.mk | 2 +- package/ttcp/ttcp.mk | 2 +- package/uemacs/uemacs.mk | 2 +- package/vpnc/vpnc.mk | 2 +- package/xfsprogs/xfsprogs.mk | 2 +- toolchain/gcc/gcc-uclibc-4.x.mk | 2 +- toolchain/gdb/gdb.mk | 2 +- toolchain/kernel-headers/kernel-headers.mk | 2 +- toolchain/toolchain-external/Config.in | 16 ++++++++++++++++ toolchain/toolchain-external/ext-tool.mk | 12 +++++++++--- toolchain/uClibc/uclibc.mk | 2 +- 22 files changed, 55 insertions(+), 29 deletions(-)
Signature · 1 line
1.7.9
PATCH 1/2 DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, $2=FILE_NAME
From: "Alvaro G. M" <[email protected]>
This modifies the definition of DOWNLOAD to receive two arguments:
the first one is the full URL of the file to download, whereas the second (and optional) is the name the file will have once downloaded.
Same thing with the SOURCE_CHECK_WGET and SCP functions.
All calls to these functions have been changed to the shortest form of the new API, except for toolchains acquisition. Since there is quite a number of different toolchains this call to DOWNLOAD is better set to the generic one.
--- docs/manual/adding-packages-handwritten.txt | 2 +- linux/linux.mk | 2 +- package/Makefile.package.in | 18 +++++++++++------- package/cups/cups.mk | 2 +- package/fis/fis.mk | 2 +- package/games/doom-wad/doom-wads.mk | 2 +- package/gettext/gettext.mk | 2 +- package/microperl/microperl.mk | 2 +- package/netkitbase/netkitbase.mk | 2 +- package/netkittelnet/netkittelnet.mk | 2 +- package/newt/newt.mk | 2 +- package/tinyhttpd/tinyhttpd.mk | 2 +- package/ttcp/ttcp.mk | 2 +- package/uemacs/uemacs.mk | 2 +- package/vpnc/vpnc.mk | 2 +- package/xfsprogs/xfsprogs.mk | 2 +- toolchain/gcc/gcc-uclibc-4.x.mk | 2 +- toolchain/gdb/gdb.mk | 2 +- toolchain/kernel-headers/kernel-headers.mk | 2 +- toolchain/toolchain-external/ext-tool.mk | 6 +++--- toolchain/uClibc/uclibc.mk | 2 +- 21 files changed, 33 insertions(+), 29 deletions(-)
docs/manual/adding-packages-handwritten.txt +1 -1
@@ -22,7 +22,7 @@ existing manual makefiles and to help understand how they work.* 11: LIBFOO_TARGET_BINARY:=usr/bin/foo 12: 13: $(DL_DIR)/$(LIBFOO_SOURCE): -14: $(call DOWNLOAD,$(LIBFOO_SITE),$(LIBFOO_SOURCE)) +14: $(call DOWNLOAD,$(LIBFOO_SITE)/$(LIBFOO_SOURCE)) 15: 16: $(LIBFOO_DIR)/.source: $(DL_DIR)/$(LIBFOO_SOURCE) 17: $(ZCAT) $(DL_DIR)/$(LIBFOO_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
linux/linux.mk +1 -1
@@ -98,7 +98,7 @@ define LINUX_DOWNLOAD_PATCHES $(if $(LINUX_PATCHES), @$(call MESSAGE,"Download additional patches")) $(foreach patch,$(filter ftp://% http://%,$(LINUX_PATCHES)),\ - $(call DOWNLOAD,$(dir $(patch)),$(notdir $(patch)))$(sep)) + $(call DOWNLOAD,$(patch))$(sep)) endef LINUX_POST_DOWNLOAD_HOOKS += LINUX_DOWNLOAD_PATCHES
package/Makefile.package.in +11 -7
@@ -203,11 +203,11 @@ endef # to prepend the path with a slash: scp://[user@]host:/absolutepath define DOWNLOAD_SCP test -e $(DL_DIR)/$(2) || \ - $(SCP) $(call stripurischeme,$(call qstrip,$(1)))/$(2) $(DL_DIR) + $(SCP) '$(call stripurischeme,$(call qstrip,$(1)))' $(DL_DIR)/$(2) endef define SOURCE_CHECK_SCP - $(SSH) $(call domain,$(1),:) ls $(call notdomain,$(1)/$(2),:) > /dev/null + $(SSH) $(call domain,$(1),:) ls '$(call notdomain,$(1),:)' > /dev/null endef define SHOW_EXTERNAL_DEPS_SCP
@@ -238,11 +238,11 @@ endef define DOWNLOAD_WGET test -e $(DL_DIR)/$(2) || \ - $(WGET) -P $(DL_DIR) $(call qstrip,$(1))/$(2) + $(WGET) -O $(DL_DIR)/$(2) '$(call qstrip,$(1))' endef define SOURCE_CHECK_WGET - $(WGET) --spider $(call qstrip,$(1))/$(2) + $(WGET) --spider '$(call qstrip,$(1))' endef define SHOW_EXTERNAL_DEPS_WGET
@@ -276,6 +276,10 @@ endef ################################################################################ define DOWNLOAD + $(call DOWNLOAD_INNER,$(1),$(if $(2),$(2),$(notdir $(1)))) +endef + +define DOWNLOAD_INNER $(Q)if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \ case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \ scp) $(call $(DL_MODE)_SCP,$(BR2_PRIMARY_SITE),$(2)) && exit ;; \
@@ -294,7 +298,7 @@ define DOWNLOAD esac ; \ fi ; \ if test -n "$(call qstrip,$(BR2_BACKUP_SITE))" ; then \ - $(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE),$(2)) && exit ; \ + $(call $(DL_MODE)_WGET,$(BR2_BACKUP_SITE)/$(2),$(2)) && exit ; \ fi ; \ exit 1 endef
@@ -318,8 +322,8 @@ ifeq ($(DL_MODE),DOWNLOAD) (test -z $($(PKG)_PATCH) || test -e $(DL_DIR)$($(PKG)_PATCH))) || \ $(call MESSAGE,"Downloading") endif - $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE),$($(PKG)_SOURCE))) - $(if $($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE),$($(PKG)_PATCH))) + $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_SOURCE))) + $(if $($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_PATCH))) $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) ifeq ($(DL_MODE),DOWNLOAD) $(Q)mkdir -p $(@D)
package/cups/cups.mk +1 -1
@@ -65,7 +65,7 @@ else endif $(DL_DIR)/$(CUPS_SOURCE): - $(call DOWNLOAD,$(CUPS_SITE),$(CUPS_SOURCE)) + $(call DOWNLOAD,$(CUPS_SITE)/$(CUPS_SOURCE)) $(CUPS_DIR)/.unpacked: $(DL_DIR)/$(CUPS_SOURCE) $(CUPS_CAT) $(DL_DIR)/$(CUPS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
package/fis/fis.mk +1 -1
@@ -11,7 +11,7 @@ FIS_BINARY:=fis FIS_TARGET_BINARY:=sbin/fis $(DL_DIR)/$(FIS_SOURCE): - $(call DOWNLOAD,$(FIS_SITE),$(FIS_SOURCE)) + $(call DOWNLOAD,$(FIS_SITE)/$(FIS_SOURCE)) fis-source: $(DL_DIR)/$(FIS_SOURCE)
package/games/doom-wad/doom-wads.mk +1 -1
@@ -10,7 +10,7 @@ DOOM_WAD_SITE = ftp://ftp.idsoftware.com/idstuff/doom/ DOOM_WAD_DIR=$(BUILD_DIR)/doom-wad-$(DOOM_WAD_VERSION) $(DL_DIR)/$(DOOM_WAD_SOURCE): - $(call DOWNLOAD,$(DOOM_WAD_SITE),$(DOOM_WAD_SOURCE)) + $(call DOWNLOAD,$(DOOM_WAD_SITE)/$(DOOM_WAD_SOURCE)) doom-wad-source: $(DL_DIR)/$(DOOM_WAD_SOURCE)
package/gettext/gettext.mk +1 -1
@@ -18,7 +18,7 @@ LIBINTL_TARGET_BINARY:=usr/lib/libintl.so endif $(DL_DIR)/$(GETTEXT_SOURCE): - $(call DOWNLOAD,$(GETTEXT_SITE),$(GETTEXT_SOURCE)) + $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE)) gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE)
package/microperl/microperl.mk +1 -1
@@ -18,7 +18,7 @@ MICROPERL_MODS+=File/Basename.pm Errno.pm Config.pm IO/File.pm Symbol.pm \ DynaLoader.pm AutoLoader.pm Carp/Heavy.pm endif $(DL_DIR)/$(MICROPERL_SOURCE): - $(call DOWNLOAD,$(MICROPERL_SITE),$(MICROPERL_SOURCE)) + $(call DOWNLOAD,$(MICROPERL_SITE)/$(MICROPERL_SOURCE)) $(MICROPERL_DIR)/.source: $(DL_DIR)/$(MICROPERL_SOURCE) $(MICROPERL_CAT) $(DL_DIR)/$(MICROPERL_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
package/netkitbase/netkitbase.mk +1 -1
@@ -12,7 +12,7 @@ NETKITBASE_BINARY:=inetd/inetd NETKITBASE_TARGET_BINARY:=usr/sbin/inetd $(DL_DIR)/$(NETKITBASE_SOURCE): - $(call DOWNLOAD,$(NETKITBASE_SITE),$(NETKITBASE_SOURCE)) + $(call DOWNLOAD,$(NETKITBASE_SITE)/$(NETKITBASE_SOURCE)) netkitbase-source: $(DL_DIR)/$(NETKITBASE_SOURCE)
package/netkittelnet/netkittelnet.mk +1 -1
@@ -12,7 +12,7 @@ NETKITTELNET_BINARY:=telnetd/telnetd NETKITTELNET_TARGET_BINARY:=usr/sbin/telnetd $(DL_DIR)/$(NETKITTELNET_SOURCE): - $(call DOWNLOAD,$(NETKITTELNET_SITE),$(NETKITTELNET_SOURCE)) + $(call DOWNLOAD,$(NETKITTELNET_SITE)/$(NETKITTELNET_SOURCE)) netkittelnet-source: $(DL_DIR)/$(NETKITTELNET_SOURCE)
package/newt/newt.mk +1 -1
@@ -11,7 +11,7 @@ NEWT_VERSION=0.51.0 NEWT_CFLAGS=-Os -g -fPIC $(DL_DIR)/$(NEWT_SOURCE): - $(call DOWNLOAD,$(NEWT_SITE),$(NEWT_SOURCE)) + $(call DOWNLOAD,$(NEWT_SITE)/$(NEWT_SOURCE)) $(NEWT_DIR)/.source: $(DL_DIR)/$(NEWT_SOURCE) $(NEWT_CAT) $(DL_DIR)/$(NEWT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
package/tinyhttpd/tinyhttpd.mk +1 -1
@@ -12,7 +12,7 @@ TINYHTTPD_BINARY:=httpd TINYHTTPD_TARGET_BINARY:=usr/sbin/tinyhttpd $(DL_DIR)/$(TINYHTTPD_SOURCE): - $(call DOWNLOAD,$(TINYHTTPD_SITE),$(TINYHTTPD_SOURCE)) + $(call DOWNLOAD,$(TINYHTTPD_SITE)/$(TINYHTTPD_SOURCE)) tinyhttpd-source: $(DL_DIR)/$(TINYHTTPD_SOURCE)
package/ttcp/ttcp.mk +1 -1
@@ -10,7 +10,7 @@ TTCP_SOURCE=ttcp$(TTCP_VERSION).c TTCP_DIR=$(BUILD_DIR)/ttcp$(TTCP_VERSION) $(DL_DIR)/$(TTCP_SOURCE): - $(call DOWNLOAD,$(TTCP_SOURCE_URL),$(TTCP_SOURCE)) + $(call DOWNLOAD,$(TTCP_SOURCE_URL)/$(TTCP_SOURCE)) $(TTCP_DIR)/.unpacked: $(DL_DIR)/$(TTCP_SOURCE) -mkdir $(TTCP_DIR)
package/uemacs/uemacs.mk +1 -1
@@ -12,7 +12,7 @@ UEMACS_BINARY:=em UEMACS_TARGET_BINARY:=usr/bin/emacs $(DL_DIR)/$(UEMACS_SOURCE): - $(call DOWNLOAD,$(UEMACS_SITE),$(UEMACS_SOURCE)) + $(call DOWNLOAD,$(UEMACS_SITE)/$(UEMACS_SOURCE)) uemacs-source: $(DL_DIR)/$(UEMACS_SOURCE)
package/vpnc/vpnc.mk +1 -1
@@ -15,7 +15,7 @@ VPNC_TARGET_BINARY:=$(VPNC_DEST_DIR)/vpnc VPNC_TARGET_SCRIPT:=$(TARGET_DIR)/etc/vpnc/default.conf $(DL_DIR)/$(VPNC_SOURCE): - $(call DOWNLOAD,$(VPNC_SITE),$(VPNC_SOURCE)) + $(call DOWNLOAD,$(VPNC_SITE)/$(VPNC_SOURCE)) $(VPNC_DIR)/.unpacked: $(DL_DIR)/$(VPNC_SOURCE) $(VPNC_CAT) $(DL_DIR)/$(VPNC_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
package/xfsprogs/xfsprogs.mk +1 -1
@@ -18,7 +18,7 @@ XFSPROGS_STRIP_LIBDEP:= \ repair/xfs_repair quota/xfs_quota $(DL_DIR)/$(XFSPROGS_SOURCE): - $(call DOWNLOAD,$(XFSPROGS_SITE),$(XFSPROGS_SOURCE)) + $(call DOWNLOAD,$(XFSPROGS_SITE)/$(XFSPROGS_SOURCE)) xfsprogs-source: $(DL_DIR)/$(XFSPROGS_SOURCE)
toolchain/gcc/gcc-uclibc-4.x.mk +1 -1
@@ -172,7 +172,7 @@ endif $(DL_DIR)/$(GCC_SOURCE): mkdir -p $(DL_DIR) - $(call DOWNLOAD,$(GCC_SITE),$(GCC_SOURCE)) + $(call DOWNLOAD,$(GCC_SITE)/$(GCC_SOURCE)) gcc-unpacked: $(GCC_DIR)/.patched $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
toolchain/gdb/gdb.mk +1 -1
@@ -24,7 +24,7 @@ endif GDB_DIR:=$(TOOLCHAIN_DIR)/gdb-$(GDB_VERSION) $(DL_DIR)/$(GDB_SOURCE): - $(call DOWNLOAD,$(GDB_SITE),$(GDB_SOURCE)) + $(call DOWNLOAD,$(GDB_SITE)/$(GDB_SOURCE)) gdb-unpacked: $(GDB_DIR)/.unpacked $(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE)
toolchain/kernel-headers/kernel-headers.mk +1 -1
@@ -81,7 +81,7 @@ $(DL_DIR)/$(LINUX_HEADERS_SOURCE): ifeq ($(BR2_KERNEL_HEADERS_SNAP),y) $(error No local $@ found, cannot continue. Are you sure you wanted to enable BR2_KERNEL_HEADERS_SNAP?) endif - $(call DOWNLOAD,$(LINUX_HEADERS_SITE),$(LINUX_HEADERS_SOURCE)) + $(call DOWNLOAD,$(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE)) kernel-headers: $(LINUX_HEADERS_DIR)/.configured
toolchain/toolchain-external/ext-tool.mk +3 -3
@@ -225,10 +225,10 @@ endif # components than usual. ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1),y) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_1): - $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_1),$(TOOLCHAIN_EXTERNAL_SOURCE_1)) + $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_1)/$(TOOLCHAIN_EXTERNAL_SOURCE_1)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_2): - $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_2),$(TOOLCHAIN_EXTERNAL_SOURCE_2)) + $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE_2)/$(TOOLCHAIN_EXTERNAL_SOURCE_2)) $(TOOLCHAIN_EXTERNAL_DIR)/.extracted: $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_1) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_2) mkdir -p $(@D)
@@ -251,7 +251,7 @@ endif else # Download and extraction of a toolchain $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE): - $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE),$(TOOLCHAIN_EXTERNAL_SOURCE)) + $(call DOWNLOAD,$(TOOLCHAIN_EXTERNAL_SITE)$(TOOLCHAIN_EXTERNAL_SOURCE),$(TOOLCHAIN_EXTERNAL_SOURCE)) $(TOOLCHAIN_EXTERNAL_DIR)/.extracted: $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE) mkdir -p $(@D)
toolchain/uClibc/uclibc.mk +1 -1
@@ -67,7 +67,7 @@ UCLIBC_ARM_TYPE:=CONFIG_$(call qstrip,$(BR2_ARM_TYPE)) UCLIBC_SPARC_TYPE:=CONFIG_SPARC_$(call qstrip,$(BR2_SPARC_TYPE)) $(DL_DIR)/$(UCLIBC_SOURCE): - $(call DOWNLOAD,$(UCLIBC_SITE),$(UCLIBC_SOURCE)) + $(call DOWNLOAD,$(UCLIBC_SITE)/$(UCLIBC_SOURCE)) uclibc-unpacked: $(UCLIBC_DIR)/.unpacked $(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE)
Signature · 1 line
1.7.9
PATCH 2/2 Microblaze: added external toolchain from Xilinx
From: "Alvaro G. M" <[email protected]>
--- toolchain/toolchain-external/Config.in | 16 ++++++++++++++++ toolchain/toolchain-external/ext-tool.mk | 6 ++++++ 2 files changed, 22 insertions(+), 0 deletions(-)
toolchain/toolchain-external/Config.in +16 -0
@@ -231,6 +231,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1 Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. +config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2 + bool "Xilinx Little Endian Microblaze GNU Tools" + depends on BR2_microblazeel + help + Toolchain for the Microblaze architecture, from + http://wiki.xilinx.com/mb-gnu-tools + +config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2 + bool "Xilinx Big Endian Microblaze GNU Tools" + depends on BR2_microblazebe + help + Toolchain for the Microblaze architecture, from + http://wiki.xilinx.com/mb-gnu-tools + config BR2_TOOLCHAIN_EXTERNAL_CUSTOM bool "Custom toolchain" help
@@ -267,6 +281,8 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103 + default "microblazeel-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2 + default "microblaze-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201103 default "powerpc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
toolchain/toolchain-external/ext-tool.mk +6 -0
@@ -211,6 +211,12 @@ TOOLCHAIN_EXTERNAL_SOURCE_1 = blackfin-toolchain-2010R1-RC4.i386.tar.bz2 TOOLCHAIN_EXTERNAL_SITE_2 = http://blackfin.uclinux.org/gf/download/frsrelease/501/8386/ TOOLCHAIN_EXTERNAL_SOURCE_2 = blackfin-toolchain-uclibc-full-2010R1-RC4.i386.tar.bz2 TOOLCHAIN_EXTERNAL_SOURCE = $(TOOLCHAIN_EXTERNAL_SOURCE_1) $(TOOLCHAIN_EXTERNAL_SOURCE_2) +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2),y) +TOOLCHAIN_EXTERNAL_SITE=http://git.xilinx.com/?p=xldk/microblaze_v2.0_le.git;a=blob;hb=HEAD;f= +TOOLCHAIN_EXTERNAL_SOURCE=microblazeel-unknown-linux-gnu.tgz +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2),y) +TOOLCHAIN_EXTERNAL_SITE=http://git.xilinx.com/?p=xldk/microblaze_v2.0.git;a=blob;hb=HEAD;f= +TOOLCHAIN_EXTERNAL_SOURCE=microblaze-unknown-linux-gnu.tgz else # A value must be set (even if unused), otherwise the # $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE) rule would override the main
Signature · 1 line
1.7.9
PATCH 1/1 Microblaze: added architecture support for both big endian and low endian
From: "Alvaro G. M" <[email protected]>
--- target/Config.in.arch | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-)
target/Config.in.arch +13 -2
@@ -21,6 +21,10 @@ config BR2_i386 config BR2_m68k bool "m68k" depends on BROKEN # ice in uclibc / inet_ntoa_r +config BR2_microblazeel + bool "microblazeel" +config BR2_microblazebe + bool "microblazebe" config BR2_mips bool "mips" config BR2_mipsel
@@ -40,6 +44,10 @@ config BR2_xtensa bool "xtensa" endchoice +config BR2_microblaze + bool + default y if BR2_microblazeel || BR2_microblazebe + # # Keep the variants separate, there's no need to clutter everything else. # sh is fairly "special" in this regard, as virtually everyone else has
@@ -508,6 +516,7 @@ config BR2_ARCH default "i686" if BR2_x86_athlon default "i686" if BR2_x86_athlon_4 default "m68k" if BR2_m68k + default "microblaze" if BR2_microblaze default "mips" if BR2_mips default "mipsel" if BR2_mipsel default "powerpc" if BR2_powerpc
@@ -534,10 +543,12 @@ config BR2_ARCH config BR2_ENDIAN string default "LITTLE" if BR2_arm || BR2_bfin || BR2_i386 || BR2_mipsel || \ - BR2_sh3 || BR2_sh4 || BR2_sh4a || BR2_x86_64 || BR2_sh64 + BR2_sh3 || BR2_sh4 || BR2_sh4a || BR2_x86_64 || BR2_sh64 || \ + BR2_microblazeel default "BIG" if BR2_armeb || BR2_avr32 || BR2_m68k || BR2_mips || \ BR2_powerpc || BR2_sh2 || BR2_sh2a || \ - BR2_sh3eb || BR2_sh4eb || BR2_sh4aeb || BR2_sparc + BR2_sh3eb || BR2_sh4eb || BR2_sh4aeb || BR2_sparc || \ + BR2_microblazebe config BR2_GCC_TARGET_TUNE string
Signature · 1 line
1.7.9
PATCH 1/1 Microblaze: added architecture support for both big endian and low endian
Quoted 4 lines · On Sunday 19 February 2012 13:34:44 Alvaro G. M wrote:
From: "Alvaro G. M" <[email protected]>
Signed-off-by Stephan Hoffmann <[email protected]>Signed-off-by Alvaro G. M <[email protected]>
Of course, this patch should come before the previous one that adds the
Xilinx toolchain.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/1 Microblaze: added architecture support for both big endian and low endian
In reply to Alvaro G. MQuoted 2 lines · On Sunday 19 February 2012 13:34:44 Alvaro G. M wrote:
Signed-off-by Stephan Hoffmann <[email protected]>Signed-off-by Alvaro G. M <[email protected]>
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 2/2 Microblaze: added external toolchain from Xilinx
In reply to Alvaro G. MQuoted 1 line · On Sunday 19 February 2012 13:17:10 Alvaro G. M wrote:
+TOOLCHAIN_EXTERNAL_SITE=http://git.xilinx.com/?p=xldk/microblaze_v2.0_le.git;a=blob;hb=HEAD;f=
I don't really like the use of HEAD here, because it makes the build
unreproducible. Don't they have anything like release tags?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 2/2 Microblaze: added external toolchain from Xilinx
No, sorry. The fact itself of storing a bunch of binaries tared inside a git repository sounds itself a bit strange.
They have in fact two repositories, one for version1.0 and this one for version2.0, so I guess they will create another one when they release a future version; so this is the best we have.
2012/2/20 Arnout Vandecappelle <[email protected]>
Quoted 19 lines · On Sunday 19 February 2012 13:17:10 Alvaro G. M wrote:
Quoted 1 line
+TOOLCHAIN_EXTERNAL_SITE=
http://git.xilinx.com/?p=xldk/microblaze_v2.0_le.git;a=blob;hb=HEAD;f=
I don't really like the use of HEAD here, because it makes the build
unreproducible. Don't they have anything like release tags?Regards,
Arnout--
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
Signature · 4 lines
?lvaro G?mez Machado -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120220/c73cad31/attachment.html>
PATCH 2/2 Microblaze: added external toolchain from Xilinx
Quoted 5 lines · On Monday 20 February 2012 10:20:27 Alvaro Gamez wrote:
No, sorry. The fact itself of storing a bunch of binaries tared inside a git repository sounds itself a bit strange.
They have in fact two repositories, one for version1.0 and this one for version2.0, so I guess they will create another one when they release a future version; so this is the best we have.
Even so, we can use the commit id explicitly instead of HEAD, just to be
sure. E.g. 00163583b for the le toolchain.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/2 Microblaze: added external toolchain from Xilinx
From: "Alvaro G. M" <[email protected]>
--- toolchain/toolchain-external/Config.in | 16 ++++++++++++++++ toolchain/toolchain-external/ext-tool.mk | 6 ++++++ 2 files changed, 22 insertions(+), 0 deletions(-)
toolchain/toolchain-external/Config.in +16 -0
@@ -231,6 +231,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1 Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. +config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2 + bool "Xilinx Little Endian Microblaze GNU Tools" + depends on BR2_microblazeel + help + Toolchain for the Microblaze architecture, from + http://wiki.xilinx.com/mb-gnu-tools + +config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2 + bool "Xilinx Big Endian Microblaze GNU Tools" + depends on BR2_microblazebe + help + Toolchain for the Microblaze architecture, from + http://wiki.xilinx.com/mb-gnu-tools + config BR2_TOOLCHAIN_EXTERNAL_CUSTOM bool "Custom toolchain" help
@@ -267,6 +281,8 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103 + default "microblazeel-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2 + default "microblaze-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201103 default "powerpc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
toolchain/toolchain-external/ext-tool.mk +6 -0
@@ -211,6 +211,12 @@ TOOLCHAIN_EXTERNAL_SOURCE_1 = blackfin-toolchain-2010R1-RC4.i386.tar.bz2 TOOLCHAIN_EXTERNAL_SITE_2 = http://blackfin.uclinux.org/gf/download/frsrelease/501/8386/ TOOLCHAIN_EXTERNAL_SOURCE_2 = blackfin-toolchain-uclibc-full-2010R1-RC4.i386.tar.bz2 TOOLCHAIN_EXTERNAL_SOURCE = $(TOOLCHAIN_EXTERNAL_SOURCE_1) $(TOOLCHAIN_EXTERNAL_SOURCE_2) +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2),y) +TOOLCHAIN_EXTERNAL_SITE=http://git.xilinx.com/?p=xldk/microblaze_v2.0_le.git;a=blob;h=d7b493c5dbcc24ba9cc3be2e4c14d6d9701e6805;hb=00163583b771bb4e937632765dd0c5516b3e31c4;f= +TOOLCHAIN_EXTERNAL_SOURCE=microblazeel-unknown-linux-gnu.tgz +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2),y) +TOOLCHAIN_EXTERNAL_SITE=http://git.xilinx.com/?p=xldk/microblaze_v2.0.git;a=blob;h=71e031ae990e063a5718f90d30cf97ad85e2f565;hb=569081301f0f1d8d3b24335a364e8ff1774190d4;f= +TOOLCHAIN_EXTERNAL_SOURCE=microblaze-unknown-linux-gnu.tgz else # A value must be set (even if unused), otherwise the # $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE) rule would override the main
Signature · 1 line
1.7.9
PATCH 1/2 Microblaze: added external toolchain from Xilinx
Quoted 1 line · On Monday 20 February 2012 11:01:16 Alvaro G. M wrote:
Signed-off-by Alvaro G. M <[email protected]>
Signature · 9 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120225/a88e07d0/attachment.html>
PATCH 2/2 Microblaze: added external toolchain from Xilinx
In reply to Arnout VandecappelleThat's fine. I'm sending right now the patch with the full URL as copy-pasted from the website.
2012/2/20 Arnout Vandecappelle <[email protected]>
Quoted 22 lines · On Monday 20 February 2012 10:20:27 Alvaro Gamez wrote:
Quoted 5 lines
No, sorry. The fact itself of storing a bunch of binaries tared inside a git repository sounds itself a bit strange.
They have in fact two repositories, one for version1.0 and this one for version2.0, so I guess they will create another one when they release a future version; so this is the best we have.Even so, we can use the commit id explicitly instead of HEAD, just to be
sure. E.g.00163583bfor the le toolchain.Regards,
Arnout--
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
Signature · 4 lines
?lvaro G?mez Machado -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120220/430ef22d/attachment.html>
PATCH 1/2 DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, $2=FILE_NAME
In reply to Alvaro G. MQuoted 8 lines · On Sunday 19 February 2012 13:17:09 Alvaro G. M wrote:
From: "Alvaro G. M" <[email protected]>
This modifies the definition of DOWNLOAD to receive two arguments:
the first one is the full URL of the file to download, whereas the second (and optional) is the name the file will have once downloaded.Same thing with the
SOURCE_CHECK_WGETand SCP functions.
Quoted 8 lines
All calls to these functions have been changed to the shortest form of the new API, except for toolchains acquisition. Since there is quite a number of different toolchains this call to DOWNLOAD is better set to the generic one.
Signed-off-by Peter Korsgaard <[email protected]>Signed-off-by Alvaro G. M <[email protected]>
Signature · 9 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120220/27858d49/attachment-0001.html>
cover Downloading from esoteric URIs, such as Xilinx toolchain
In reply to Alvaro G. Ms/Spencer/Spenser Gilliland/g
Excuse me, Spenser.
If you need any help with the DTS patch, let me know, I'm really interested on making buildroot work with Microblaze and some other platforms I work with that would benefit from the DTS support.
2012/2/19 Alvaro G. M <[email protected]>
Quoted 3 lines
The next step, in which I think Spencer is working on, is the DTS support, which can the be used for lots of different platforms.
Signature · 4 lines
?lvaro G?mez Machado -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120219/cc2730b8/attachment-0001.html>