+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
config BR2_VENDOR_PATCH_DIR
string
default "target/device/Atmel/toolchain/avr32" if BR2_TOOLCHAIN_ATMEL_AVR32
+endif
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"
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)
#
-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"
help
Optimizations to use when building for the target host.
-endmenu
+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
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
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
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)
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)
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)