diff options
author | Thomas De Schampheleire <patrickdepinguin+buildroot@gmail.com> | 2012-06-22 07:42:38 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-07-22 16:53:24 +0200 |
commit | df0c12599487e49a6fe390a89f2f9ee5ee93222e (patch) | |
tree | 55cf05670f1e4d174ff76ec1845f287d915016c5 | |
parent | 77e26972187b9cda1a8f22ca74da154687c9ab1a (diff) | |
download | buildroot-novena-df0c12599487e49a6fe390a89f2f9ee5ee93222e.tar.gz buildroot-novena-df0c12599487e49a6fe390a89f2f9ee5ee93222e.zip |
toolchain-external: allow downloading a custom toolchain
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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | toolchain/toolchain-external/Config.in | 29 | ||||
-rw-r--r-- | 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 index 172e3e316..dceeed2ce 100644 --- 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 + 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 - 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 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 index 3f58aad3e..49dd0e2b6 100644 --- a/toolchain/toolchain-external/ext-tool.mk +++ b/toolchain/toolchain-external/ext-tool.mk @@ -252,11 +252,17 @@ 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 +# 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 |