All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes)
@ 2012-06-22  5:42 Thomas De Schampheleire
  2012-06-22  5:42 ` [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure Thomas De Schampheleire
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-06-22  5:42 UTC (permalink / raw)
  To: buildroot

The main intention for this patch series is to allow downloading a custom
external toolchain. I had previously added this functionality to buildroot
(did not make it to mainstream, I should have followed it up better) and
have been using it for about a year now.
I have now lined it up with current buildroot, updated based on the
comments of ThomasP, and fixed some related problems I found along the
way.

Thomas De Schampheleire (6):
       pkg-download.mk: allow using localfiles outside of package infrastructure
       pkg-download.mk: use stripurischeme function in localfiles download method
       pkg-download.mk: support detection of URI schemes in DOWNLOAD
       toolchain-external/Config.in: fix indentation
       toolchain-external: allow downloading a custom toolchain
       toolchain-external: line up comments with reality


 package/pkg-download.mk                  |   15 +++-
 toolchain/toolchain-external/Config.in   |  371 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------
 toolchain/toolchain-external/ext-tool.mk |   19 ++++--
 3 files changed, 215 insertions(+), 190 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure
  2012-06-22  5:42 [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes) Thomas De Schampheleire
@ 2012-06-22  5:42 ` Thomas De Schampheleire
  2012-07-15 11:24   ` Arnout Vandecappelle
  2012-07-22 16:24   ` Thomas Petazzoni
  2012-06-22  5:42 ` [Buildroot] [PATCH 2 of 6 resend] pkg-download.mk: use stripurischeme function in localfiles download method Thomas De Schampheleire
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-06-22  5:42 UTC (permalink / raw)
  To: buildroot

The localfiles download method uses $($(PKG)_SITE))) and
$($(PKG)_SOURCE) instead of $(1) and $(2). This means that it can only
be used for package downloads (through gentargets, autotargets, ...)
and not for other downloads like external toolchains.

This patch changes localfiles to allow this, just as the wget and scp
download methods already did.
For the version control download methods, nothing changes.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 package/pkg-download.mk |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/package/pkg-download.mk b/package/pkg-download.mk
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -174,16 +174,16 @@ define SHOW_EXTERNAL_DEPS_WGET
 endef
 
 define DOWNLOAD_LOCALFILES
-	test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
-		$(LOCALFILES) $(call qstrip,$(subst file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE) $(DL_DIR)
+	test -e $(DL_DIR)/$(2) || \
+		$(LOCALFILES) $(call qstrip,$(subst file://,,$(1))) $(DL_DIR)
 endef
 
 define SOURCE_CHECK_LOCALFILES
-  test -e $(call qstrip,$(subst file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE)
+  test -e $(call qstrip,$(subst file://,,$(1)))
 endef
 
 define SHOW_EXTERNAL_DEPS_LOCALFILES
-  echo $($(PKG)_SITE)/$($(PKG)_SOURCE)
+  echo $(2)
 endef
 
 ################################################################################

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 2 of 6 resend] pkg-download.mk: use stripurischeme function in localfiles download method
  2012-06-22  5:42 [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes) Thomas De Schampheleire
  2012-06-22  5:42 ` [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure Thomas De Schampheleire
@ 2012-06-22  5:42 ` Thomas De Schampheleire
  2012-07-15 11:25   ` Arnout Vandecappelle
  2012-06-22  5:42 ` [Buildroot] [PATCH 3 of 6 resend] pkg-download.mk: support detection of URI schemes in DOWNLOAD Thomas De Schampheleire
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-06-22  5:42 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 package/pkg-download.mk |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/pkg-download.mk b/package/pkg-download.mk
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -175,11 +175,11 @@ endef
 
 define DOWNLOAD_LOCALFILES
 	test -e $(DL_DIR)/$(2) || \
-		$(LOCALFILES) $(call qstrip,$(subst file://,,$(1))) $(DL_DIR)
+		$(LOCALFILES) $(call stripurischeme,$(call qstrip,$(1))) $(DL_DIR)
 endef
 
 define SOURCE_CHECK_LOCALFILES
-  test -e $(call qstrip,$(subst file://,,$(1)))
+  test -e $(call stripurischeme,$(call qstrip,$(1)))
 endef
 
 define SHOW_EXTERNAL_DEPS_LOCALFILES

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 3 of 6 resend] pkg-download.mk: support detection of URI schemes in DOWNLOAD
  2012-06-22  5:42 [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes) Thomas De Schampheleire
  2012-06-22  5:42 ` [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure Thomas De Schampheleire
  2012-06-22  5:42 ` [Buildroot] [PATCH 2 of 6 resend] pkg-download.mk: use stripurischeme function in localfiles download method Thomas De Schampheleire
@ 2012-06-22  5:42 ` Thomas De Schampheleire
  2012-07-15 11:28   ` Arnout Vandecappelle
  2012-06-22  5:42 ` [Buildroot] [PATCH 4 of 6 resend] toolchain-external/Config.in: fix indentation Thomas De Schampheleire
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-06-22  5:42 UTC (permalink / raw)
  To: buildroot

When using one of the package infrastructures, the DOWNLOAD function
uses $(PKG)_SITE_METHOD to determine the appropriate download method,
which is autodetected based on the URI if none was explicitly set.

When the DOWNLOAD function is called directly, for example when
downloading a toolchain, or from a package that does not use one of
the package infrastructures, the SITE_METHOD is not autodetected,
and thus the download defaults to wget.

This patch adds URI scheme detection directly to the DOWNLOAD method,
in case no SITE_METHOD was detected yet.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 package/pkg-download.mk |  7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/package/pkg-download.mk b/package/pkg-download.mk
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -211,7 +211,12 @@ define DOWNLOAD_INNER
 		esac ; \
 	fi ; \
 	if test -n "$(1)" ; then \
-		case "$($(PKG)_SITE_METHOD)" in \
+		if test -z "$($(PKG)_SITE_METHOD)" ; then \
+			scheme="$(call geturischeme,$(1))" ; \
+		else \
+			scheme="$($(PKG)_SITE_METHOD)" ; \
+		fi ; \
+		case "$$scheme" in \
 			git) $($(DL_MODE)_GIT) && exit ;; \
 			svn) $($(DL_MODE)_SVN) && exit ;; \
 			bzr) $($(DL_MODE)_BZR) && exit ;; \

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 4 of 6 resend] toolchain-external/Config.in: fix indentation
  2012-06-22  5:42 [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes) Thomas De Schampheleire
                   ` (2 preceding siblings ...)
  2012-06-22  5:42 ` [Buildroot] [PATCH 3 of 6 resend] pkg-download.mk: support detection of URI schemes in DOWNLOAD Thomas De Schampheleire
@ 2012-06-22  5:42 ` Thomas De Schampheleire
  2012-07-15 11:30   ` Arnout Vandecappelle
  2012-06-22  5:42 ` [Buildroot] [PATCH 5 of 6 resend] toolchain-external: allow downloading a custom toolchain Thomas De Schampheleire
  2012-06-22  5:42 ` [Buildroot] [PATCH 6 of 6 resend] toolchain-external: line up comments with reality Thomas De Schampheleire
  5 siblings, 1 reply; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-06-22  5:42 UTC (permalink / raw)
  To: buildroot

Fix the indentation of the external toolchain Config file, where tabs
and spaces are mixed as indentation even within the same block.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 toolchain/toolchain-external/Config.in |  342 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------
 1 files changed, 171 insertions(+), 171 deletions(-)

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -69,16 +69,16 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  Mentor Graphics. It uses gcc 4.6.1, binutils 2.21.53, glibc
 	  2.13 and gdb 7.2.50, kernel headers 3.0.1. It has support
 	  for the following variants:
-            - ARMv5TE, little endian, soft-float, glibc
-              Select ARM926T, ARM10T, XScale or another ARMv5 core
-              Select BR2_SOFT_FLOAT
-            - ARMv4T, little endian, soft-float, glibc
-              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
-              Select BR2_SOFT_FLOAT
-            - ARMv7-A, Thumb 2, little endian, soft-float, glibc
-              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mthumb
+	    - ARMv5TE, little endian, soft-float, glibc
+	      Select ARM926T, ARM10T, XScale or another ARMv5 core
+	      Select BR2_SOFT_FLOAT
+	    - ARMv4T, little endian, soft-float, glibc
+	      Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+	      Select BR2_SOFT_FLOAT
+	    - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+	      Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
 	bool "Sourcery CodeBench ARM 2011.03"
@@ -90,16 +90,16 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51, glibc
 	  2.13 and gdb 7.2.50, kernel headers 2.6.38. It has support
 	  for the following variants:
-            - ARMv5TE, little endian, soft-float, glibc
-              Select ARM926T, ARM10T, XScale or another ARMv5 core
-              Select BR2_SOFT_FLOAT
-            - ARMv4T, little endian, soft-float, glibc
-              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
-              Select BR2_SOFT_FLOAT
-            - ARMv7-A, Thumb 2, little endian, soft-float, glibc
-              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mthumb
+	    - ARMv5TE, little endian, soft-float, glibc
+	      Select ARM926T, ARM10T, XScale or another ARMv5 core
+	      Select BR2_SOFT_FLOAT
+	    - ARMv4T, little endian, soft-float, glibc
+	      Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+	      Select BR2_SOFT_FLOAT
+	    - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+	      Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009
 	bool "Sourcery CodeBench ARM 2010.09"
@@ -111,16 +111,16 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  Mentor Graphics. It uses gcc 4.5.1, binutils 2.20, glibc
 	  2.11 and gdb 7.2.50, kernel headers 2.6.35.2. It has support
 	  for the following variants:
-            - ARMv5TE, little endian, soft-float, glibc
+	    - ARMv5TE, little endian, soft-float, glibc
 	      Select ARM926T, ARM10T, XScale or another ARMv5 core
-              Select BR2_SOFT_FLOAT
-            - ARMv4T, little endian, soft-float, glibc
-              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
-              Select BR2_SOFT_FLOAT
-            - ARMv7-A, Thumb 2, little endian, soft-float, glibc
-              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mthumb
+	      Select BR2_SOFT_FLOAT
+	    - ARMv4T, little endian, soft-float, glibc
+	      Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+	      Select BR2_SOFT_FLOAT
+	    - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+	      Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1
 	bool "Sourcery CodeBench ARM 2010q1"
@@ -132,16 +132,16 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  Mentor Graphics. It uses gcc 4.4.1, binutils 2.19, glibc
 	  2.11, gdb 7.0.50 and kernel headers 2.6.32. It has support
 	  for the following variants:
-             - ARMv5T, little endian, soft-float, glibc
-               Select ARM926T, ARM10T, XScale or another ARMv5 core
-               Select BR2_SOFT_FLOAT
-             - ARMv4T, little endian, soft-float, glibc
-               Select ARM720T, ARM920T, ARM922T or another ARMv4 core
-               Select BR2_SOFT_FLOAT
-             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
-               Select Cortex-A8, Cortex-A9 or another ARMv7-A core
-               Select BR2_SOFT_FLOAT
-               Set BR2_TARGET_OPTIMIZATION to -mthumb
+	     - ARMv5T, little endian, soft-float, glibc
+	       Select ARM926T, ARM10T, XScale or another ARMv5 core
+	       Select BR2_SOFT_FLOAT
+	     - ARMv4T, little endian, soft-float, glibc
+	       Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+	       Select BR2_SOFT_FLOAT
+	     - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+	       Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+	       Select BR2_SOFT_FLOAT
+	       Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2009Q3
 	bool "Sourcery CodeBench ARM 2009q3"
@@ -153,16 +153,16 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  Mentor Graphics. It uses gcc 4.4.1, binutils 2.19, glibc
 	  2.10 and gdb 6.8 and kernel headers 2.6.30. It has support
 	  for the following variants:
-            - ARMv5T, little endian, soft-float, glibc
-              Select ARM926T, ARM10T, XScale or another ARMv5 core
-              Select BR2_SOFT_FLOAT
-            - ARMv4T, little endian, soft-float, glibc
-              Select ARM720T, ARM920T, ARM922T or another ARMv4 core
-              Select BR2_SOFT_FLOAT
-            - ARMv7-A, Thumb 2, little endian, soft-float, glibc
-              Select Cortex-A8, Cortex-A9 or another ARMv7-A core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mthumb
+	    - ARMv5T, little endian, soft-float, glibc
+	      Select ARM926T, ARM10T, XScale or another ARMv5 core
+	      Select BR2_SOFT_FLOAT
+	    - ARMv4T, little endian, soft-float, glibc
+	      Select ARM720T, ARM920T, ARM922T or another ARMv4 core
+	      Select BR2_SOFT_FLOAT
+	    - ARMv7-A, Thumb 2, little endian, soft-float, glibc
+	      Select Cortex-A8, Cortex-A9 or another ARMv7-A core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mthumb
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201103
 	bool "Sourcery CodeBench MIPS 2011.03"
@@ -174,44 +174,44 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51, glibc
 	  2.13, uClibc 0.9.30 and gdb 7.2.50, kernel headers
 	  2.6.38. It has support for the following variants:
-            - MIPS32 O32 big endian glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-            - MIPS32 O32 little endian glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL
-            - MIPS32 big endian soft float glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-            - MIPS32 little endian soft float glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL
-            - MIPS32 big endian microMIPS glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mips16
-            - MIPS32 little endian microMIPS glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
-            - MIPS32 big endian soft float microMIPS glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mips16
-            - MIPS32 little endian soft float microMIPS glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
-            - MIPS32 big endian uclibc
-              Not usable in Buildroot yet.
-            - MIPS32 little endian uclibc
-              Not usable in Buildroot yet.
-            - MIPS32 big endian soft float uclibc
-              Not usable in Buildroot yet.
-            - MIPS32 little endian soft float uclibc
-              Not usable in Buildroot yet.
+	    - MIPS32 O32 big endian glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	    - MIPS32 O32 little endian glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL
+	    - MIPS32 big endian soft float glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	    - MIPS32 little endian soft float glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL
+	    - MIPS32 big endian microMIPS glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mips16
+	    - MIPS32 little endian microMIPS glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL -mips16
+	    - MIPS32 big endian soft float microMIPS glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mips16
+	    - MIPS32 little endian soft float microMIPS glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL -mips16
+	    - MIPS32 big endian uclibc
+	      Not usable in Buildroot yet.
+	    - MIPS32 little endian uclibc
+	      Not usable in Buildroot yet.
+	    - MIPS32 big endian soft float uclibc
+	      Not usable in Buildroot yet.
+	    - MIPS32 little endian soft float uclibc
+	      Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44
 	bool "Sourcery CodeBench MIPS 4.4"
@@ -223,44 +223,44 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  Mentor Graphics. It uses gcc 4.4.1, binutils 2.19, glibc
 	  2.11, uClibc 0.9.30 and gdb 7.0, kernel headers 2.6.32. It
 	  has support for the following variants:
-            - MIPS32 O32 big endian glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-            - MIPS32 O32 little endian glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL
-            - MIPS32 big endian soft float glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-            - MIPS32 little endian soft float glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL
-            - MIPS32 big endian microMIPS glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mips16
-            - MIPS32 little endian microMIPS glibc
-              Select a MIPS generic core
-              Disable BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
-            - MIPS32 big endian soft float microMIPS glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -mips16
-            - MIPS32 little endian soft float microMIPS glibc
-              Select a MIPS generic core
-              Select BR2_SOFT_FLOAT
-              Set BR2_TARGET_OPTIMIZATION to -EL -mips16
-            - MIPS32 big endian uclibc
-              Not usable in Buildroot yet.
-            - MIPS32 little endian uclibc
-              Not usable in Buildroot yet.
-            - MIPS32 big endian soft float uclibc
-              Not usable in Buildroot yet.
-            - MIPS32 little endian soft float uclibc
-              Not usable in Buildroot yet.
+	    - MIPS32 O32 big endian glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	    - MIPS32 O32 little endian glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL
+	    - MIPS32 big endian soft float glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	    - MIPS32 little endian soft float glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL
+	    - MIPS32 big endian microMIPS glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mips16
+	    - MIPS32 little endian microMIPS glibc
+	      Select a MIPS generic core
+	      Disable BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL -mips16
+	    - MIPS32 big endian soft float microMIPS glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -mips16
+	    - MIPS32 little endian soft float microMIPS glibc
+	      Select a MIPS generic core
+	      Select BR2_SOFT_FLOAT
+	      Set BR2_TARGET_OPTIMIZATION to -EL -mips16
+	    - MIPS32 big endian uclibc
+	      Not usable in Buildroot yet.
+	    - MIPS32 little endian uclibc
+	      Not usable in Buildroot yet.
+	    - MIPS32 big endian soft float uclibc
+	      Not usable in Buildroot yet.
+	    - MIPS32 little endian soft float uclibc
+	      Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
 	bool "Sourcery CodeBench PowerPC 2011.03"
@@ -272,22 +272,22 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51,
 	  glibc 2.13, gdb 7.2.50 and kernel headers 2.6.38. It has
 	  support for the following variants:
-            - 603 glibc, 32 bits
+	    - 603 glibc, 32 bits
 	      Select a generic PowerPC core
 	      Disable BR2_SOFT_FLOAT
-            - 603 soft float glibc, 32 bits
+	    - 603 soft float glibc, 32 bits
 	      Select a generic PowerPC core
 	      Enable BR2_SOFT_FLOAT
-            - e600 altivec glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te600
-            - e500v1 glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te500v1
-            - e500v2 glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te500v2
-            - e500mc glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te500mc
-            - 970 glibc hard-float, 64 bits
-              Set BR2_TARGET_OPTIMIZATION to -m64
+	    - e600 altivec glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te600
+	    - e500v1 glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te500v1
+	    - e500v2 glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te500v2
+	    - e500mc glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te500mc
+	    - 970 glibc hard-float, 64 bits
+	      Set BR2_TARGET_OPTIMIZATION to -m64
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
 	bool "Sourcery CodeBench PowerPC 2010.09"
@@ -299,22 +299,22 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
 	  glibc 2.11, gdb 7.2.50 and kernel headers 2.6.35.2. It has
 	  support for the following variants:
-            - 603 glibc, 32 bits
+	    - 603 glibc, 32 bits
 	      Select a generic PowerPC core
 	      Disable BR2_SOFT_FLOAT
-            - 603 soft float glibc, 32 bits
+	    - 603 soft float glibc, 32 bits
 	      Select a generic PowerPC core
 	      Enable BR2_SOFT_FLOAT
-            - e600 altivec glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te600
-            - e500v1 glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te500v1
-            - e500v2 glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te500v2
-            - e500mc glibc, 32 bits
-              Set BR2_TARGET_OPTIMIZATION to -te500mc
-            - 970 glibc hard-float, 64 bits
-              Set BR2_TARGET_OPTIMIZATION to -m64
+	    - e600 altivec glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te600
+	    - e500v1 glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te500v1
+	    - e500v2 glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te500v2
+	    - e500mc glibc, 32 bits
+	      Set BR2_TARGET_OPTIMIZATION to -te500mc
+	    - 970 glibc hard-float, 64 bits
+	      Set BR2_TARGET_OPTIMIZATION to -m64
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
 	bool "Sourcery CodeBench SH 2011.03"
@@ -326,14 +326,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
 	  glibc 2.13, uClibc 0.9.30, gdb 7.2.50 and kernel headers
 	  2.6.38. It has support for the following variants:
-            - SH4A, glibc, little endian
-              Default.
-            - SH4A, glibc, big endian
-              Add -mb to BR2_TARGET_OPTIMIZATION
-            - SH4A, uClibc, little endian
-              Not usable in Buildroot yet.
-            - SH4A, uClibc, big endian
-              Not usable in Buildroot yet.
+	    - SH4A, glibc, little endian
+	      Default.
+	    - SH4A, glibc, big endian
+	      Add -mb to BR2_TARGET_OPTIMIZATION
+	    - SH4A, uClibc, little endian
+	      Not usable in Buildroot yet.
+	    - SH4A, uClibc, big endian
+	      Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
 	bool "Sourcery CodeBench SH 2010.09"
@@ -345,14 +345,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
 	  glibc 2.11, uClibc 0.9.30, gdb 7.2.50 and kernel headers
 	  2.6.35.2. It has support for the following variants:
-            - SH4A, glibc, little endian
-              Default.
-            - SH4A, glibc, big endian
-              Add -mb to BR2_TARGET_OPTIMIZATION
-            - SH4A, uClibc, little endian
-              Not usable in Buildroot yet.
-            - SH4A, uClibc, big endian
-              Not usable in Buildroot yet.
+	    - SH4A, glibc, little endian
+	      Default.
+	    - SH4A, glibc, big endian
+	      Add -mb to BR2_TARGET_OPTIMIZATION
+	    - SH4A, uClibc, little endian
+	      Not usable in Buildroot yet.
+	    - SH4A, uClibc, big endian
+	      Not usable in Buildroot yet.
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
 	bool "Sourcery CodeBench SH 2011.03"
@@ -369,7 +369,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
 	  uClibc 0.9.30, gdb 7.2.50 and kernel headers 2.6.38. It has
 	  support for the following variants:
-            - SH2A, uClibc, big endian
+	    - SH2A, uClibc, big endian
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
 	bool "Sourcery CodeBench SH 2010.09"
@@ -386,7 +386,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCE
 	  from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
 	  uClibc 0.9.30, gdb 7.2.50 and kernel headers 2.6.35.2. It
 	  has support for the following variants:
-            - SH2A, uClibc, big endian
+	    - SH2A, uClibc, big endian
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
 	bool "Sourcery CodeBench x86/x86_64 2011.09"
@@ -485,10 +485,10 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MIC
 	  http://wiki.xilinx.com/mb-gnu-tools
 
 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
-       bool "Custom toolchain"
-       help
-         Use this option to use a custom toolchain pre-installed on
-         your system.
+	bool "Custom toolchain"
+	help
+	  Use this option to use a custom toolchain pre-installed on
+	  your system.
 
 endchoice
 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 5 of 6 resend] toolchain-external: allow downloading a custom toolchain
  2012-06-22  5:42 [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes) Thomas De Schampheleire
                   ` (3 preceding siblings ...)
  2012-06-22  5:42 ` [Buildroot] [PATCH 4 of 6 resend] toolchain-external/Config.in: fix indentation Thomas De Schampheleire
@ 2012-06-22  5:42 ` Thomas De Schampheleire
  2012-07-15 11:44   ` Arnout Vandecappelle
  2012-06-22  5:42 ` [Buildroot] [PATCH 6 of 6 resend] toolchain-external: line up comments with reality Thomas De Schampheleire
  5 siblings, 1 reply; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-06-22  5:42 UTC (permalink / raw)
  To: buildroot

This patch adds the possibility to download a custom external
toolchain, in addition to the existing support of preinstalled custom
external toolchains.

With the modified configuration, the user is presented with the
following options:
- Toolchain type: Buildroot toolchain | External toolchain | Ct-ng toolchain

In case of External toolchain:
- Toolchain: the CodeSourcery toolchains | Custom toolchain
- Toolchain origin: Toolchain to be downloaded and installed | Pre-installed toolchain

In case of Toolchain to be downloaded, the user is presented with:
- Toolchain URL
In case of Pre-installed toolchain, the users sees:
- Toolchain Path

For CodeSourcery toolchains, the toolchain URL field is not used (the
URLs are directly coded in ext-tool.mk).


Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---

This feature was proposed previously [1] with some comments by Thomas
Petazzoni. At that time, the proposed split was to have 'custom pre-
installed toolchain' and 'custom downloadable toolchain' sit alongside
the CodeSourcery ones, as such providing a clear distinction between
pre-installed and downloaded custom toolchains. However, during
implementation I felt that this structure makes the code more complex
than it needs to be and so I choose for an alternative solution that
IMO still creates a clear distinction. Any comments are of course
welcome.

[1] http://lists.busybox.net/pipermail/buildroot/2011-September/045912.html


 toolchain/toolchain-external/Config.in   |  29 ++++++++++++++++++++++-------
 toolchain/toolchain-external/ext-tool.mk |   6 ++++++
 2 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -492,22 +492,37 @@ config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
 
 endchoice
 
+choice
+	prompt "Toolchain origin"
+
 config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
-	bool "Download toolchain automatically"
-	default y
-	depends on !BR2_TOOLCHAIN_EXTERNAL_CUSTOM
+	bool "Toolchain to be downloaded and installed"
 	help
-	  When enabled, Buildroot will automatically download and
-	  install the selected external toolchain. When disabled,
-	  Buildroot will use a pre-installed toolchain.
+	  Select this option if you want Buildroot to download and install the
+	  toolchain. If you have selected a custom toolchain, specify the URL
+	  in BR2_TOOLCHAIN_EXTERNAL_URL.
+
+config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
+	bool "Pre-installed toolchain"
+	help
+	  Select this option if you want to use a pre-installed toolchain.
+	  Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
+
+endchoice
 
 config BR2_TOOLCHAIN_EXTERNAL_PATH
 	string "Toolchain path"
 	default "/path/to/toolchain/usr"
-	depends on !BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
+	depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
 	help
 	  Path to where the external toolchain is installed.
 
+config BR2_TOOLCHAIN_EXTERNAL_URL
+	string "Toolchain URL"
+	depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
+	help
+	  URL of the custom toolchain tarball to download and install.
+
 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
 	string "Toolchain prefix"
 	depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -252,11 +252,17 @@ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILI
 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
+# Custom toolchain
+TOOLCHAIN_EXTERNAL_SITE=$(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
+TOOLCHAIN_EXTERNAL_SOURCE=$(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
+
 # A value must be set (even if unused), otherwise the
 # $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE) rule would override the main
 # $(DL_DIR) rule
+ifeq (,$(TOOLCHAIN_EXTERNAL_SOURCE))
 TOOLCHAIN_EXTERNAL_SOURCE=none
 endif
+endif
 
 # Special handling for Blackfin toolchain, because of the split in two
 # tarballs, and the organization of tarball contents. The tarballs

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 6 of 6 resend] toolchain-external: line up comments with reality
  2012-06-22  5:42 [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes) Thomas De Schampheleire
                   ` (4 preceding siblings ...)
  2012-06-22  5:42 ` [Buildroot] [PATCH 5 of 6 resend] toolchain-external: allow downloading a custom toolchain Thomas De Schampheleire
@ 2012-06-22  5:42 ` Thomas De Schampheleire
  2012-07-15 11:32   ` Arnout Vandecappelle
  5 siblings, 1 reply; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-06-22  5:42 UTC (permalink / raw)
  To: buildroot

Line-up with changes from commit 3367d5ce770ac409e7b3f5bba2c7ed1a819b3ef7
"external-toolchain: run checks even on extracted toolchains"

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

---
 toolchain/toolchain-external/ext-tool.mk |  13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -14,11 +14,10 @@
 #
 # The basic principle is the following
 #
-#  1. a. For toolchains downloaded from the Web, Buildroot already
-#  knows their configuration, so it just downloads them and extract
-#  them in $(TOOLCHAIN_EXTERNAL_DIR).
+#  1. If the toolchain is not pre-installed, download and extract it
+#  in $(TOOLCHAIN_EXTERNAL_DIR).
 #
-#  1. b. For pre-installed toolchains, perform some checks on the
+#  2. For all external toolchains, perform some checks on the
 #  conformity between the toolchain configuration described in the
 #  Buildroot menuconfig system, and the real configuration of the
 #  external toolchain. This is for example important to make sure that
@@ -30,19 +29,19 @@
 #  options. And at configuration time, we are not able to retrieve the
 #  external toolchain configuration.
 #
-#  2. Copy the libraries needed at runtime to the target directory,
+#  3. Copy the libraries needed at runtime to the target directory,
 #  $(TARGET_DIR). Obviously, things such as the C library, the dynamic
 #  loader and a few other utility libraries are needed if dynamic
 #  applications are to be executed on the target system.
 #
-#  3. Copy the libraries and headers to the staging directory. This
+#  4. Copy the libraries and headers to the staging directory. This
 #  will allow all further calls to gcc to be made using --sysroot
 #  $(STAGING_DIR), which greatly simplifies the compilation of the
 #  packages when using external toolchains. So in the end, only the
 #  cross-compiler binaries remains external, all libraries and headers
 #  are imported into the Buildroot tree.
 #
-#  4. Build a toolchain wrapper which executes the external toolchain
+#  5. Build a toolchain wrapper which executes the external toolchain
 #  with a number of arguments (sysroot/march/mtune/..) hardcoded,
 #  so we're sure the correct configuration is always used and the
 #  toolchain behaves similar to an internal toolchain.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure
  2012-06-22  5:42 ` [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure Thomas De Schampheleire
@ 2012-07-15 11:24   ` Arnout Vandecappelle
  2012-07-16  3:14     ` Thomas De Schampheleire
  2012-07-22 16:24   ` Thomas Petazzoni
  1 sibling, 1 reply; 16+ messages in thread
From: Arnout Vandecappelle @ 2012-07-15 11:24 UTC (permalink / raw)
  To: buildroot

On 06/22/12 07:42, Thomas De Schampheleire wrote:
> The localfiles download method uses $($(PKG)_SITE))) and
> $($(PKG)_SOURCE) instead of $(1) and $(2). This means that it can only
> be used for package downloads (through gentargets, autotargets, ...)
> and not for other downloads like external toolchains.
>
> This patch changes localfiles to allow this, just as the wget and scp
> download methods already did.
> For the version control download methods, nothing changes.

  Is there any reason not to do it for the VCS download methods?

>
> Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire@gmail.com>
>
> ---
>   package/pkg-download.mk |  8 ++++----
>   1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/package/pkg-download.mk b/package/pkg-download.mk
> --- a/package/pkg-download.mk
> +++ b/package/pkg-download.mk
> @@ -174,16 +174,16 @@ define SHOW_EXTERNAL_DEPS_WGET
>   endef
>
>   define DOWNLOAD_LOCALFILES
> -	test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
> -		$(LOCALFILES) $(call qstrip,$(subst file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE) $(DL_DIR)
> +	test -e $(DL_DIR)/$(2) || \
> +		$(LOCALFILES) $(call qstrip,$(subst file://,,$(1))) $(DL_DIR)

  Shouldn't this be
		$(LOCALFILES) $(call qstrip,$(subst file://,,$(1))) $(DL_DIR)/$(2)

>   endef
>
>   define SOURCE_CHECK_LOCALFILES
> -  test -e $(call qstrip,$(subst file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE)
> +  test -e $(call qstrip,$(subst file://,,$(1)))
>   endef
>
>   define SHOW_EXTERNAL_DEPS_LOCALFILES
> -  echo $($(PKG)_SITE)/$($(PKG)_SOURCE)
> +  echo $(2)

  Funny, the original was actually wrong...

  Regards,
  Arnout

>   endef
>
>   ################################################################################
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>

-- 
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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 2 of 6 resend] pkg-download.mk: use stripurischeme function in localfiles download method
  2012-06-22  5:42 ` [Buildroot] [PATCH 2 of 6 resend] pkg-download.mk: use stripurischeme function in localfiles download method Thomas De Schampheleire
@ 2012-07-15 11:25   ` Arnout Vandecappelle
  0 siblings, 0 replies; 16+ messages in thread
From: Arnout Vandecappelle @ 2012-07-15 11:25 UTC (permalink / raw)
  To: buildroot

On 06/22/12 07:42, Thomas De Schampheleire wrote:
> Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  And a bump.
-- 
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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 3 of 6 resend] pkg-download.mk: support detection of URI schemes in DOWNLOAD
  2012-06-22  5:42 ` [Buildroot] [PATCH 3 of 6 resend] pkg-download.mk: support detection of URI schemes in DOWNLOAD Thomas De Schampheleire
@ 2012-07-15 11:28   ` Arnout Vandecappelle
  0 siblings, 0 replies; 16+ messages in thread
From: Arnout Vandecappelle @ 2012-07-15 11:28 UTC (permalink / raw)
  To: buildroot

On 06/22/12 07:42, Thomas De Schampheleire wrote:
> When using one of the package infrastructures, the DOWNLOAD function
> uses $(PKG)_SITE_METHOD to determine the appropriate download method,
> which is autodetected based on the URI if none was explicitly set.
>
> When the DOWNLOAD function is called directly, for example when
> downloading a toolchain, or from a package that does not use one of
> the package infrastructures, the SITE_METHOD is not autodetected,
> and thus the download defaults to wget.
>
> This patch adds URI scheme detection directly to the DOWNLOAD method,
> in case no SITE_METHOD was detected yet.
>
> Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  Maybe the default definition of PKG_SITE_METHOD can be removed then?

  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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 4 of 6 resend] toolchain-external/Config.in: fix indentation
  2012-06-22  5:42 ` [Buildroot] [PATCH 4 of 6 resend] toolchain-external/Config.in: fix indentation Thomas De Schampheleire
@ 2012-07-15 11:30   ` Arnout Vandecappelle
  0 siblings, 0 replies; 16+ messages in thread
From: Arnout Vandecappelle @ 2012-07-15 11:30 UTC (permalink / raw)
  To: buildroot

On 06/22/12 07:42, Thomas De Schampheleire wrote:
> Fix the indentation of the external toolchain Config file, where tabs
> and spaces are mixed as indentation even within the same block.
>
> Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  This one should really have been merged right away...

  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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 6 of 6 resend] toolchain-external: line up comments with reality
  2012-06-22  5:42 ` [Buildroot] [PATCH 6 of 6 resend] toolchain-external: line up comments with reality Thomas De Schampheleire
@ 2012-07-15 11:32   ` Arnout Vandecappelle
  0 siblings, 0 replies; 16+ messages in thread
From: Arnout Vandecappelle @ 2012-07-15 11:32 UTC (permalink / raw)
  To: buildroot

On 06/22/12 07:42, Thomas De Schampheleire wrote:
> Line-up with changes from commit 3367d5ce770ac409e7b3f5bba2c7ed1a819b3ef7
> "external-toolchain: run checks even on extracted toolchains"
>
> Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire@gmail.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  And a bump.
-- 
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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 5 of 6 resend] toolchain-external: allow downloading a custom toolchain
  2012-06-22  5:42 ` [Buildroot] [PATCH 5 of 6 resend] toolchain-external: allow downloading a custom toolchain Thomas De Schampheleire
@ 2012-07-15 11:44   ` Arnout Vandecappelle
  0 siblings, 0 replies; 16+ messages in thread
From: Arnout Vandecappelle @ 2012-07-15 11:44 UTC (permalink / raw)
  To: buildroot

On 06/22/12 07:42, Thomas De Schampheleire wrote:
> This patch adds the possibility to download a custom external
> toolchain, in addition to the existing support of preinstalled custom
> external toolchains.
>
> With the modified configuration, the user is presented with the
> following options:
> - Toolchain type: Buildroot toolchain | External toolchain | Ct-ng toolchain
>
> In case of External toolchain:
> - Toolchain: the CodeSourcery toolchains | Custom toolchain
> - Toolchain origin: Toolchain to be downloaded and installed | Pre-installed toolchain
>
> In case of Toolchain to be downloaded, the user is presented with:
> - Toolchain URL
> In case of Pre-installed toolchain, the users sees:
> - Toolchain Path
>
> For CodeSourcery toolchains, the toolchain URL field is not used (the
> URLs are directly coded in ext-tool.mk).
>
>
> Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire@gmail.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  And a bump.

-- 
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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure
  2012-07-15 11:24   ` Arnout Vandecappelle
@ 2012-07-16  3:14     ` Thomas De Schampheleire
  2012-07-17  7:34       ` Arnout Vandecappelle
  0 siblings, 1 reply; 16+ messages in thread
From: Thomas De Schampheleire @ 2012-07-16  3:14 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

Thanks for your review and acks.

Op 15 jul. 2012 05:24 schreef "Arnout Vandecappelle" <arnout@mind.be> het
volgende:
>
> On 06/22/12 07:42, Thomas De Schampheleire wrote:
>>
>> The localfiles download method uses $($(PKG)_SITE))) and
>> $($(PKG)_SOURCE) instead of $(1) and $(2). This means that it can only
>> be used for package downloads (through gentargets, autotargets, ...)
>> and not for other downloads like external toolchains.
>>
>> This patch changes localfiles to allow this, just as the wget and scp
>> download methods already did.
>> For the version control download methods, nothing changes.
>
>
>  Is there any reason not to do it for the VCS download methods?
>

Just because I didn't really see how you'd use that. For non-package
downloads you'd be downloading a single file (typically a tarball). It
seems odd to me to take that from a version control system. I guess you'll
need to express the version you want in the URL, which may not be possible
for all the systems we support.
Thomas basically asked the same question. Do any of you do see a use case?

>
>>
>> Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire@gmail.com>
>>
>> ---
>>   package/pkg-download.mk |  8 ++++----
>>   1 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/package/pkg-download.mk b/package/pkg-download.mk
>> --- a/package/pkg-download.mk
>> +++ b/package/pkg-download.mk
>> @@ -174,16 +174,16 @@ define SHOW_EXTERNAL_DEPS_WGET
>>   endef
>>
>>   define DOWNLOAD_LOCALFILES
>> -       test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
>> -               $(LOCALFILES) $(call qstrip,$(subst
file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE) $(DL_DIR)
>> +       test -e $(DL_DIR)/$(2) || \
>> +               $(LOCALFILES) $(call qstrip,$(subst file://,,$(1)))
$(DL_DIR)
>
>
>  Shouldn't this be
>                 $(LOCALFILES) $(call qstrip,$(subst file://,,$(1)))
$(DL_DIR)/$(2)

Well, the behavior is the same as before. But I guess you could safely add
the explicit destination. I can't test it as I'm on holiday, though.

Maybe you could submit that as a separate patch?

>
>
>>   endef
>>
>>   define SOURCE_CHECK_LOCALFILES
>> -  test -e $(call qstrip,$(subst
file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE)
>> +  test -e $(call qstrip,$(subst file://,,$(1)))
>>   endef
>>
>>   define SHOW_EXTERNAL_DEPS_LOCALFILES
>> -  echo $($(PKG)_SITE)/$($(PKG)_SOURCE)
>> +  echo $(2)
>
>
>  Funny, the original was actually wrong...
>
>  Regards,
>  Arnout
>
>>   endef
>>

Best regards,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120716/4400a2a2/attachment.html>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure
  2012-07-16  3:14     ` Thomas De Schampheleire
@ 2012-07-17  7:34       ` Arnout Vandecappelle
  0 siblings, 0 replies; 16+ messages in thread
From: Arnout Vandecappelle @ 2012-07-17  7:34 UTC (permalink / raw)
  To: buildroot

On 07/16/12 05:14, Thomas De Schampheleire wrote:
> Hi Arnout,
>
> Thanks for your review and acks.

  Thanks for your feedback, this gets my
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

>
> Op 15 jul. 2012 05:24 schreef "Arnout Vandecappelle" <arnout at mind.be <mailto:arnout@mind.be>> het volgende:
>>
>>  On 06/22/12 07:42, Thomas De Schampheleire wrote:
>> >
>> > The localfiles download method uses $($(PKG)_SITE))) and
>> > $($(PKG)_SOURCE) instead of $(1) and $(2). This means that it can only
>> > be used for package downloads (through gentargets, autotargets, ...)
>> > and not for other downloads like external toolchains.
>> >
>> > This patch changes localfiles to allow this, just as the wget and scp
>> > download methods already did.
>> > For the version control download methods, nothing changes.
>>
>>
>>   Is there any reason not to do it for the VCS download methods?
>>
>
> Just because I didn't really see how you'd use that. For non-package downloads you'd be downloading a single file
> (typically a tarball). It seems odd to me to take that from a version control system. I guess you'll need to express the
> version you want in the URL, which may not be possible for all the systems we support.
> Thomas basically asked the same question. Do any of you do see a use case?

  It's just for symmetry as far as I'm concerned.  It's true that the VCS
methods require a revision as well, so they'll also require the $(PKG) to
be used.

  Taking a tarball from a VCS is not even possible with the current VCS
download methods: they would pack the tarball into another tarball...

>
>>
>> >
>> > Signed-off-by: Thomas De Schampheleire<thomas.de.schampheleire at gmail.com <mailto:thomas.de.schampheleire@gmail.com>>
>> >
>> > ---
>> >   package/pkg-download.mk <http://pkg-download.mk> |  8 ++++----
>> >   1 files changed, 4 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/package/pkg-download.mk <http://pkg-download.mk> b/package/pkg-download.mk <http://pkg-download.mk>
>> > --- a/package/pkg-download.mk <http://pkg-download.mk>
>> > +++ b/package/pkg-download.mk <http://pkg-download.mk>
>> > @@ -174,16 +174,16 @@ define SHOW_EXTERNAL_DEPS_WGET
>> >   endef
>> >
>> >   define DOWNLOAD_LOCALFILES
>> > -       test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
>> > -               $(LOCALFILES) $(call qstrip,$(subst file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE) $(DL_DIR)
>> > +       test -e $(DL_DIR)/$(2) || \
>> > +               $(LOCALFILES) $(call qstrip,$(subst file://,,$(1))) $(DL_DIR)
>>
>>
>>   Shouldn't this be
>>                  $(LOCALFILES) $(call qstrip,$(subst file://,,$(1))) $(DL_DIR)/$(2)
>
> Well, the behavior is the same as before. But I guess you could safely add the explicit destination. I can't test it as
> I'm on holiday, though.
>
> Maybe you could submit that as a separate patch?

  OK.

[snip]

  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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure
  2012-06-22  5:42 ` [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure Thomas De Schampheleire
  2012-07-15 11:24   ` Arnout Vandecappelle
@ 2012-07-22 16:24   ` Thomas Petazzoni
  1 sibling, 0 replies; 16+ messages in thread
From: Thomas Petazzoni @ 2012-07-22 16:24 UTC (permalink / raw)
  To: buildroot

Le Fri, 22 Jun 2012 07:42:34 +0200,
Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> a ?crit :

> The localfiles download method uses $($(PKG)_SITE))) and
> $($(PKG)_SOURCE) instead of $(1) and $(2). This means that it can only
> be used for package downloads (through gentargets, autotargets, ...)
> and not for other downloads like external toolchains.
> 
> This patch changes localfiles to allow this, just as the wget and scp
> download methods already did.
> For the version control download methods, nothing changes.
> 
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>

Applied all 6 patches, thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2012-07-22 16:24 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-22  5:42 [Buildroot] [PATCH 0 of 6 resend] Improve support for custom external toolchains (and related changes) Thomas De Schampheleire
2012-06-22  5:42 ` [Buildroot] [PATCH 1 of 6 resend] pkg-download.mk: allow using localfiles outside of package infrastructure Thomas De Schampheleire
2012-07-15 11:24   ` Arnout Vandecappelle
2012-07-16  3:14     ` Thomas De Schampheleire
2012-07-17  7:34       ` Arnout Vandecappelle
2012-07-22 16:24   ` Thomas Petazzoni
2012-06-22  5:42 ` [Buildroot] [PATCH 2 of 6 resend] pkg-download.mk: use stripurischeme function in localfiles download method Thomas De Schampheleire
2012-07-15 11:25   ` Arnout Vandecappelle
2012-06-22  5:42 ` [Buildroot] [PATCH 3 of 6 resend] pkg-download.mk: support detection of URI schemes in DOWNLOAD Thomas De Schampheleire
2012-07-15 11:28   ` Arnout Vandecappelle
2012-06-22  5:42 ` [Buildroot] [PATCH 4 of 6 resend] toolchain-external/Config.in: fix indentation Thomas De Schampheleire
2012-07-15 11:30   ` Arnout Vandecappelle
2012-06-22  5:42 ` [Buildroot] [PATCH 5 of 6 resend] toolchain-external: allow downloading a custom toolchain Thomas De Schampheleire
2012-07-15 11:44   ` Arnout Vandecappelle
2012-06-22  5:42 ` [Buildroot] [PATCH 6 of 6 resend] toolchain-external: line up comments with reality Thomas De Schampheleire
2012-07-15 11:32   ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.