浏览代码

- remove one invariant in toolchain type selection.

Bernhard Reutner-Fischer 18 年之前
父节点
当前提交
d8fc1c0a74

+ 2 - 11
target/device/Toolchain.in

@@ -1,21 +1,11 @@
+if BR2_TOOLCHAIN_EXTERNAL_SOURCE
 choice
 	prompt "Source location:"
-	default BR2_TOOLCHAIN_NORMAL		if!BR2_avr32
 	default BR2_TOOLCHAIN_ATMEL_AVR32	if BR2_avr32
-	depends on BR2_TOOLCHAIN_BUILDROOT
 	help
 	  Select whether to use the toolchain built by the buildroot
 	  system or an external pre-built toolchain.
 
-config BR2_TOOLCHAIN_NORMAL
-	bool "Use default sources for toolchain"
-	depends on !BR2_avr32
-	help
-	  Download vanilla binutils, gcc, uclibc and gdb from their 
-	  main download locations, and apply patches from the
-	  "toolchain/<package>" directores.
-	  I.E: Do not download a prepatched vendor source suite.
-
 config BR2_TOOLCHAIN_ATMEL_AVR32
 	bool "Use prepatched source for AVR32 toolchain"
 	depends on BR2_avr32
@@ -53,3 +43,4 @@ config BR2_VENDOR_GDB_RELEASE
 config BR2_VENDOR_PATCH_DIR
 	string
 	default "target/device/Atmel/toolchain/avr32" if BR2_TOOLCHAIN_ATMEL_AVR32
+endif

+ 12 - 3
toolchain/Config.in

@@ -3,16 +3,25 @@ choice
 	prompt "Toolchain type"
 	default BR2_TOOLCHAIN_BUILDROOT
 	help
-	  Select whether to use the toolchain built by the buildroot
-	  system or an external pre-built toolchain.
+	  Select whether to use the toolchain provided by buildroot
+	  or an external toolchain.
 
 config BR2_TOOLCHAIN_BUILDROOT
 	bool "Buildroot toolchain"
+	depends on !BR2_avr32
 
 config BR2_TOOLCHAIN_EXTERNAL
-	bool "External toolchain"
+	bool "External binary toolchain"
+
+config BR2_TOOLCHAIN_EXTERNAL_SOURCE
+	bool "External source toolchain"
 endchoice
 
+config BR2_TOOLCHAIN_SOURCE
+	bool
+	default y if !BR2_TOOLCHAIN_EXTERNAL
+	default n if BR2_TOOLCHAIN_EXTERNAL
+
 source "target/device/Toolchain.in"
 
 source "toolchain/Config.in.2"

+ 2 - 2
toolchain/binutils/binutils.mk

@@ -65,13 +65,13 @@ BINUTILS_TARGET_CONFIG_OPTIONS=--with-gmp="$(GMP_TARGET_DIR)"
 BINUTILS_TARGET_CONFIG_OPTIONS+=--with-mpfr="$(MPFR_TARGET_DIR)"
 endif
 
-ifeq ($(BR2_TOOLCHAIN_NORMAL),)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),)
 BINUTILS_SITE:=$(VENDOR_SITE)
 endif
 
 BINUTILS_OFFICIAL_VERSION:=$(BINUTILS_VERSION)$(VENDOR_SUFFIX)$(VENDOR_BINUTILS_RELEASE)
 
-ifeq ($(BR2_TOOLCHAIN_NORMAL),y)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
 BINUTILS_PATCH_DIR:=toolchain/binutils/$(BINUTILS_VERSION)
 else
 BINUTILS_PATCH_DIR:=$(VENDOR_PATCH_DIR)/binutils-$(BINUTILS_OFFICIAL_VERSION)

+ 4 - 3
toolchain/external-toolchain/Config.in

@@ -1,7 +1,8 @@
 #
 
-menu "External Toolchain Options"
-	depends on BR2_TOOLCHAIN_EXTERNAL
+if BR2_TOOLCHAIN_EXTERNAL
+comment "External Toolchain Options"
+
 
 config BR2_TOOLCHAIN_EXTERNAL_LIB_C
 	string "The core C library from the external toolchain"
@@ -104,4 +105,4 @@ config BR2_TARGET_OPTIMIZATION
 	help
 	  Optimizations to use when building for the target host.
 
-endmenu
+endif

+ 2 - 2
toolchain/gcc/gcc-uclibc-3.x.mk

@@ -33,7 +33,7 @@ endif
 
 
 # redefine if using an external prepatched gcc source
-ifeq ($(BR2_TOOLCHAIN_NORMAL),)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),)
 GCC_SITE:=$(VENDOR_SITE)
 GCC_OFFICIAL_VER:=$(GCC_VERSION)$(VENDOR_SUFFIX)$(VENDOR_GCC_RELEASE)
 endif
@@ -41,7 +41,7 @@ endif
 GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VER).tar.bz2
 GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VER)
 
-ifeq ($(BR2_TOOLCHAIN_NORMAL),y)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
 ifeq ($(GCC_SNAP_DATE),)
 GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
 else

+ 2 - 2
toolchain/gcc/gcc-uclibc-4.x.mk

@@ -30,13 +30,13 @@ GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_OFFICIAL_VER)
 endif
 
 # redefine if using an external prepatched gcc source
-ifeq ($(BR2_TOOLCHAIN_NORMAL),)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),)
 GCC_SITE:=$(VENDOR_SITE)
 GCC_OFFICIAL_VER:=$(GCC_VERSION)$(VENDOR_SUFFIX)$(VENDOR_GCC_RELEASE)
 endif
 
 # define patch location
-ifeq ($(BR2_TOOLCHAIN_NORMAL),y) # Normal toolchain
+ifeq ($(BR2_TOOLCHAIN_SOURCE),y) # Normal toolchain
 ifeq ($(GCC_SNAP_DATE),) # Not a snapshot
 GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
 else # Is a snapshot

+ 2 - 2
toolchain/gdb/gdb.mk

@@ -20,7 +20,7 @@ GDB_DIR:=$(TOOL_BUILD_DIR)/gdb-$(GDB_VERSION)
 GDB_PATCH_DIR:=toolchain/gdb/$(GDB_VERSION)
 else
 
-ifeq ($(BR2_TOOLCHAIN_NORMAL),y)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
 GDB_SITE:=http://ftp.gnu.org/gnu/gdb
 else
 GDB_SITE:=$(VENDOR_SITE)
@@ -31,7 +31,7 @@ GDB_OFFICIAL_VERSION:=$(GDB_VERSION)$(VENDOR_SUFFIX)$(VENDOR_GDB_RELEASE)
 GDB_SOURCE:=gdb-$(GDB_OFFICIAL_VERSION).tar.bz2
 GDB_CAT:=$(BZCAT)
 
-ifeq ($(BR2_TOOLCHAIN_NORMAL),y)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
 GDB_PATCH_DIR:=toolchain/gdb/$(GDB_OFFICIAL_VERSION)
 else
 GDB_PATCH_DIR:=$(VENDOR_PATCH_DIR)/gdb-$(GDB_OFFICIAL_VERSION)

+ 2 - 2
toolchain/uClibc/uclibc.mk

@@ -34,14 +34,14 @@ UCLIBC_VER:=0.9.28
 endif
 UCLIBC_SITE:=http://www.uclibc.org/downloads
 
-ifeq ($(BR2_TOOLCHAIN_NORMAL),)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),)
 UCLIBC_SITE:=$(VENDOR_SITE)
 endif
 
 UCLIBC_OFFICIAL_VERSION:=$(UCLIBC_VER)$(VENDOR_SUFFIX)$(VENDOR_UCLIBC_RELEASE)
 
 
-ifeq ($(BR2_TOOLCHAIN_NORMAL),y)
+ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
 UCLIBC_PATCH_DIR:=toolchain/uClibc/
 else
 UCLIBC_PATCH_DIR:=$(VENDOR_PATCH_DIR)/uClibc-$(UCLIBC_OFFICIAL_VERSION)