if BR2_TOOLCHAIN_EXTERNAL

choice
	prompt "Toolchain"

config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_12
	bool "Linaro 2012.12"
	depends on BR2_arm
	depends on BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_a9 || BR2_cortex_a15
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Linaro toolchain for the ARM architecture. It uses Linaro
	  GCC 2012.12 (based on gcc 4.7), Linaro GDB 2012.12 (based on
	  GDB 7.5), eglibc 2.15. It generates code that runs on all
	  Cortex-A profile devices, but tuned for the Cortex-A9. The
	  code generated is Thumb 2, with the hard floating point
	  calling convention, and uses the VFPv3-D16 FPU instructions.

	  To use this toolchain, you must disable soft float usage.

config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_11
	bool "Linaro 2012.11"
	depends on BR2_arm
	depends on BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_a9 || BR2_cortex_a15
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Linaro toolchain for the ARM architecture. It uses Linaro
	  GCC 2012.11 (based on gcc 4.7), Linaro GDB 2012.10 (based on
	  GDB 7.5), eglibc 2.15. It generates code that runs on all
	  Cortex-A profile devices, but tuned for the Cortex-A9. The
	  code generated is Thumb 2, with the hard floating point
	  calling convention, and uses the VFPv3-D16 FPU instructions.

	  To use this toolchain, you must disable soft float usage.

config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_10
	bool "Linaro 2012.10"
	depends on BR2_arm
	depends on BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_a9 || BR2_cortex_a15
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Linaro toolchain for the ARM architecture. It uses Linaro
	  GCC 2012.10 (based on gcc 4.7), Linaro GDB 2012.10 (based on
	  GDB 7.5), eglibc 2.15. It generates code that runs on all
	  Cortex-A profile devices, but tuned for the Cortex-A9. The
	  code generated is Thumb 2, with the hard floating point
	  calling convention, and uses the VFPv3-D16 FPU instructions.

	  To use this toolchain, you must disable soft float usage.

comment "Linaro toolchains available for Cortex-A{5,8,9,15}"
	depends on BR2_arm
	depends on !BR2_cortex_a5 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a15

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
	bool "Sourcery CodeBench ARM 2012.03"
	depends on BR2_arm
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the ARM architecture, from
	  Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53, glibc
	  2.15 and gdb 7.2.50, kernel headers 3.2.10. 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

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
	bool "Sourcery CodeBench ARM 2011.09"
	depends on BR2_arm
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the ARM architecture, from
	  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

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201209
	bool "Sourcery CodeBench MIPS 2012.09"
	depends on BR2_mips || BR2_mipsel
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the MIPS architecture, from
	  Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51, glibc
	  2.16, uClibc 0.9.30 and gdb 7.4.50, kernel headers
	  3.5.4. It has support for the following variants:
	    - MIPS32 O32 big endian glibc
	      Select a MIPS generic core
	      Disable BR2_SOFT_FLOAT
	    - MIPS64 big endian glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      Disable BR2_SOFT_FLOAT
	    - MIPS32 O32 little endian glibc
	      Select a MIPS generic core
	      Disable BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -EL
	    - MIPS64 little endian glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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
	    - MIPS64 big endian soft float glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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
	    - MIPS64 little endian soft float glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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_MIPS201203
	bool "Sourcery CodeBench MIPS 2012.03"
	depends on BR2_mips || BR2_mipsel
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the MIPS architecture, from
	  Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53, glibc
	  2.15, uClibc 0.9.30 and gdb 7.2.50, kernel headers
	  3.2.10. It has support for the following variants:
	    - MIPS32 O32 big endian glibc
	      Select a MIPS generic core
	      Disable BR2_SOFT_FLOAT
	    - MIPS64 big endian glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      Disable BR2_SOFT_FLOAT
	    - MIPS32 O32 little endian glibc
	      Select a MIPS generic core
	      Disable BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -EL
	    - MIPS64 little endian glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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
	    - MIPS64 big endian soft float glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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
	    - MIPS64 little endian soft float glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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_ARM201103
	bool "Sourcery CodeBench ARM 2011.03"
	depends on BR2_arm
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the ARM architecture, from
	  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

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201109
	bool "Sourcery CodeBench MIPS 2011.09"
	depends on BR2_mips || BR2_mipsel
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the MIPS architecture, from
	  Mentor Graphics. It uses gcc 4.5.2, binutils 2.21.53, glibc
	  2.13, uClibc 0.9.30 and gdb 7.2.50, kernel headers
	  3.0.1. It has support for the following variants:
	    - MIPS32 O32 big endian glibc
	      Select a MIPS generic core
	      Disable BR2_SOFT_FLOAT
	    - MIPS64 big endian glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      Disable BR2_SOFT_FLOAT
	    - MIPS32 O32 little endian glibc
	      Select a MIPS generic core
	      Disable BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -EL
	    - MIPS64 little endian glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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
	    - MIPS64 big endian soft float glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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
	    - MIPS64 little endian soft float glibc
	      Select a MIPS generic core
	      Select the n64 ABI
	      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"
	depends on BR2_powerpc
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the PowerPC architecture,
	  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
	      Select a generic PowerPC core
	      Disable BR2_SOFT_FLOAT
	    - 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

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
	bool "Sourcery CodeBench PowerPC 2010.09"
	depends on BR2_powerpc
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the PowerPC architecture,
	  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
	      Select a generic PowerPC core
	      Disable BR2_SOFT_FLOAT
	    - 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

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
	bool "Sourcery CodeBench SH 2012.09"
	depends on BR2_sh4a || BR2_sh4aeb
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the SuperH architecture,
	  from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
	  glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
	  3.5.4. 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.

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
	bool "Sourcery CodeBench SH 2012.03"
	depends on BR2_sh4a || BR2_sh4aeb
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the SuperH architecture,
	  from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
	  glibc 2.15, uClibc 0.9.30, gdb 7.2.50 and kernel headers
	  3.2.10. 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.

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
	bool "Sourcery CodeBench SH 2011.03"
	depends on BR2_sh4a || BR2_sh4aeb
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the SuperH architecture,
	  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.

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
	bool "Sourcery CodeBench SH 2011.03"
	depends on BR2_sh2a
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	select BR2_LARGEFILE
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_USE_WCHAR
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the SuperH architecture,
	  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

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
	bool "Sourcery CodeBench SH 2010.09"
	depends on BR2_sh2a
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	select BR2_LARGEFILE
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_USE_WCHAR
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the SuperH architecture,
	  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

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
	bool "Sourcery CodeBench x86/x86_64 2012.09"
	depends on BR2_i386 || BR2_x86_64
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the x86/x86_64
	  architectures, from Mentor Graphics. It uses gcc 4.7.2,
	  binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
	  3.5.4. It has support for the following variants:
	    - Intel Pentium 4, glibc, 32 bits
	      Default for x86, nothing special to do.
	    - Intel Atom, glibc, 32 bits
	      Select an Atom core
	    - Intel Xeon, glibc, 64 bits
	      Default for x86_64, nothing special to do.
	    - Intel Core 2, glibc, 64 bits
	      Select a Core 2 core
	  Other architecture variants (beyond Pentium-4/Xeon) are
	  supported as well, but glibc is not optimised for it.

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
	bool "Sourcery CodeBench x86/x86_64 2012.03"
	depends on BR2_i386 || BR2_x86_64
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the x86/x86_64
	  architectures, from Mentor Graphics. It uses gcc 4.6.3,
	  binutils 2.21.53, glibc 2.15, gdb 7.2.50 and kernel headers
	  3.2.10. It has support for the following variants:
	    - Intel Pentium 4, glibc, 32 bits
	      Default for x86, nothing special to do.
	    - Intel Atom, glibc, 32 bits
	      Select an Atom core
	    - Intel Xeon, glibc, 64 bits
	      Default for x86_64, nothing special to do.
	    - Intel Core 2, glibc, 64 bits
	      Select a Core 2 core
	  Other architecture variants (beyond Pentium-4/Xeon) are
	  supported as well, but glibc is not optimised for it.

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
	bool "Sourcery CodeBench x86/x86_64 2011.09"
	depends on BR2_i386 || BR2_x86_64
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Sourcery CodeBench toolchain for the x86/x86_64
	  architectures, from Mentor Graphics. It uses gcc 4.6.1,
	  binutils 2.21.53, glibc 2.13, gdb 7.2.50 and kernel headers
	  3.0.1. It has support for the following variants:
	    - Intel Pentium 4, glibc, 32 bits
	      Default for x86, nothing special to do.
	    - Intel Atom, glibc, 32 bits
	      Select an Atom core
	    - Intel Xeon, glibc, 64 bits
	      Default for x86_64, nothing special to do.
	    - Intel Core 2, glibc, 64 bits
	      Select a Core 2 core
	  Other architecture variants (beyond Pentium-4/Xeon) are
	  supported as well, but glibc is not optimised for it.

config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
	bool "Blackfin.uclinux.org 2012R1-BETA1"
	depends on BR2_bfin
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_LARGEFILE
	select BR2_INET_IPV6
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_USE_WCHAR
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Toolchain for the Blackfin architecture, from
	  http://blackfin.uclinux.org.

config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1
	bool "Blackfin.uclinux.org 2011R1-RC4"
	depends on BR2_bfin
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_LARGEFILE
	select BR2_INET_IPV6
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_USE_WCHAR
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Toolchain for the Blackfin architecture, from
	  http://blackfin.uclinux.org.

config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1
	bool "Blackfin.uclinux.org 2010RC1"
	depends on BR2_bfin
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_LARGEFILE
	select BR2_INET_IPV6
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_USE_WCHAR
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  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
	depends on BR2_HOSTARCH = "x86_64"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	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
	depends on BR2_HOSTARCH = "x86_64"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	help
	  Toolchain for the Microblaze architecture, from
	  http://wiki.xilinx.com/mb-gnu-tools

config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_12
	bool "Linaro AArch64 12.12"
	depends on BR2_aarch64
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Toolchain for the AArch64 architecture, from
	  http://www.linaro.org/engineering/armv8/

config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_11
	bool "Linaro AArch64 12.11"
	depends on BR2_aarch64
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Toolchain for the AArch64 architecture, from
	  http://www.linaro.org/engineering/armv8/

config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_10
	bool "Linaro AArch64 12.10"
	depends on BR2_aarch64
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	help
	  Toolchain for the AArch64 architecture, from
	  http://www.linaro.org/engineering/armv8/

config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
	bool "Custom toolchain"
	help
	  Use this option to use a custom toolchain pre-installed on
	  your system.

endchoice

choice
	prompt "Toolchain origin"
	# Keep compatibility with old defconfig files that are using
	# custom toolchains, and which are therefore assuming that
	# "preinstalled" in the default choice.
	default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM

config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
	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
	  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_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
	default "$(ARCH)-linux"

config BR2_TOOLCHAIN_EXTERNAL_PREFIX
	string
	default "arm-linux-gnueabihf"	 if BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_10
	default "arm-linux-gnueabihf"	 if BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_11
	default "arm-linux-gnueabihf"	 if BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_12
	default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
	default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
	default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
	default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_10
	default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_11
	default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_12
	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_MIPS201109
	default "mips-linux-gnu"         if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201203
	default "mips-linux-gnu"         if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201209
	default "powerpc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
	default "powerpc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
	default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
	default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
	default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
	default "i686-pc-linux-gnu"	 if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
	default "bfin-uclinux"		 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1 && !BR2_BFIN_FDPIC
	default "bfin-linux-uclibc"	 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1 && BR2_BFIN_FDPIC
	default "bfin-uclinux"		 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 && !BR2_BFIN_FDPIC
	default "bfin-linux-uclibc"	 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 && BR2_BFIN_FDPIC
	default "bfin-uclinux"		 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 && !BR2_BFIN_FDPIC
	default "bfin-linux-uclibc"	 if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1 && BR2_BFIN_FDPIC
	default $(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX) \
					 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM

config BR2_TOOLCHAIN_EXTERNAL_GLIBC
	bool
	select BR2_LARGEFILE
	select BR2_INET_IPV6
	select BR2_USE_WCHAR
	select BR2_ENABLE_LOCALE
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS

config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	bool

if BR2_TOOLCHAIN_EXTERNAL_CUSTOM

choice
	prompt "External toolchain C library"
	default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC

config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
	bool "uClibc"
	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	# For the time being, we assume that all custom external
	# toolchains have shadow password support.
	select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS

config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
	bool "glibc/eglibc"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	help
	  Note: eglibc is a variant of glibc that (among other things) can be
	  configured to exclude some of its features. Using a toolchain with
	  eglibc configured to exclude key features may cause build failures to
	  some packages.

endchoice

if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC

config BR2_TOOLCHAIN_EXTERNAL_LARGEFILE
	bool "Toolchain has large file support?"
	select BR2_LARGEFILE
	help
	  Select this option if your external toolchain supports
	  largefile. If you don't know, leave the default value,
	  Buildroot will tell you if it's correct or not.

config BR2_TOOLCHAIN_EXTERNAL_INET_IPV6
	bool "Toolchain has IPv6 support?"
	select BR2_INET_IPV6
	help
	  Select this option if your external toolchain supports
	  IPv6. If you don't know, leave the default value, Buildroot
	  will tell you if it's correct or not.

config BR2_TOOLCHAIN_EXTERNAL_WCHAR
	bool "Toolchain has WCHAR support?"
	select BR2_USE_WCHAR
	help
	  Select this option if your external toolchain supports
	  WCHAR. If you don't know, leave the default value, Buildroot
	  will tell you if it's correct or not.

config BR2_TOOLCHAIN_EXTERNAL_LOCALE
	bool "Toolchain has locale support?"
	select BR2_TOOLCHAIN_EXTERNAL_WCHAR
	select BR2_ENABLE_LOCALE
	help
	  Select this option if your external toolchain has locale
	  support. If you don't know, leave the default value,
	  Buildroot will tell you if it's correct or not.

config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
	bool "Toolchain has threads support?"
	select BR2_TOOLCHAIN_HAS_THREADS
	default y
	help
	  Select this option if your external toolchain has thread
	  support. If you don't know, leave the default value,
	  Buildroot will tell you if it's correct or not.

config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
	bool "Toolchain has threads debugging support?"
	depends on BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	default y
	help
	  Select this option if your external toolchain has thread
	  debugging support. If you don't know, leave the default
	  value, Buildroot will tell you if it's correct or not.

endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC

config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
	bool "Toolchain has RPC support?"
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
	help
	  Select this option if your external toolchain supports
	  RPC. If you don't know, leave the default value, Buildroot
	  will tell you if it's correct or not.

config BR2_TOOLCHAIN_EXTERNAL_CXX
	bool "Toolchain has C++ support?"
	select BR2_INSTALL_LIBSTDCPP
	help
	  Select this option if your external toolchain has C++
	  support. If you don't know, leave the default value,
	  Buildroot will tell you if it's correct or not.

config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
	string "Extra toolchain libraries to be copied to target"
	help
	  If your external toolchain provides extra libraries that
	  need to be copied to the target filesystem, enter them
	  here, separated by spaces. They will be copied to the
	  target's /lib directory.

endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM

endif # BR2_TOOLCHAIN_EXTERNAL