menu "Toolchain"

# Invisible option that makes sure the toolchain package always gets
# built
config BR2_TOOLCHAIN
	bool
	default y

# Should be selected for glibc or eglibc
config BR2_TOOLCHAIN_USES_GLIBC
	bool
	select BR2_USE_WCHAR
	select BR2_ENABLE_LOCALE
	select BR2_TOOLCHAIN_HAS_FULL_GETTEXT
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_TOOLCHAIN_HAS_THREADS_NPTL
	select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
	select BR2_TOOLCHAIN_SUPPORTS_PIE

config BR2_TOOLCHAIN_USES_UCLIBC
	bool
	select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_m68k && !BR2_microblaze && !BR2_STATIC_LIBS

config BR2_TOOLCHAIN_USES_MUSL
	bool
	select BR2_USE_WCHAR
	select BR2_ENABLE_LOCALE
	select BR2_TOOLCHAIN_HAS_THREADS
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	select BR2_TOOLCHAIN_HAS_THREADS_NPTL
	select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_STATIC_LIBS

choice
	prompt "Toolchain type"
	help
	  Select whether to use the toolchain provided by buildroot
	  or an external toolchain.

	  Some vendors provide toolchains in binary form, some in
	  source form.

config BR2_TOOLCHAIN_BUILDROOT
	bool "Buildroot toolchain"
	select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
	depends on !BR2_bf606
	depends on !BR2_bf607
	depends on !BR2_bf608
	depends on !BR2_bf609
	depends on !BR2_csky
	depends on !BR2_mips_m6250
	depends on !BR2_mips_p6600

config BR2_TOOLCHAIN_EXTERNAL
	bool "External toolchain"
	help
	  Select if you want to use an existing cross-compiling
	  toolchain. Buildroot can either download automatically a
	  toolchain, or use an already installed toolchain.

endchoice

source "toolchain/toolchain-buildroot/Config.in"
source "toolchain/toolchain-external/Config.in"
source "toolchain/toolchain-common.in"

endmenu
