if BR2_TOOLCHAIN_EXTERNAL_CUSTOM

config BR2_TOOLCHAIN_EXTERNAL_PREFIX
	default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX

config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
	default "toolchain-external-custom"

config BR2_TOOLCHAIN_EXTERNAL_URL
	string "Toolchain URL"
	depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
	help
	  URL of the custom toolchain tarball to download and install.

config BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH
	string "Toolchain relative binary path"
	default "bin"
	depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
	help
	  Path to where the binaries (e.g. the compiler) can be found,
	  relative to the downloaded toolchain root directory. The
	  default is "bin" and is correct for most toolchains.

config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
	string "Toolchain prefix"
	default "$(ARCH)-linux"
	help
	  Component name prefix used by your external toolchain.

	  Typically, this is the target tuple, e.g. something that
	  looks like: $(ARCH)-unknown-linux-gnu.

	  If unsure, look at the "bin" directory of your toolchain and
	  note the part of component name before the last dash, i.e. if
	  you call the toolchain's gcc as $(ARCH)-unknown-linux-gnu-gcc,
	  the prefix is $(ARCH)-unknown-linux-gnu.

	  Note that Buildroot toolchains have shorter aliases that look
	  like $(ARCH)-linux, as symlinks to the full-tuple components,
	  so you can leave this option at default value if you use them
	  as external toolchain.

choice
	bool "External toolchain gcc version"
	help
	  Set to the gcc version that is used by your external
	  toolchain.

config BR2_TOOLCHAIN_EXTERNAL_GCC_14
	bool "14.x"
	select BR2_TOOLCHAIN_GCC_AT_LEAST_14

config BR2_TOOLCHAIN_EXTERNAL_GCC_13
	bool "13.x"
	select BR2_TOOLCHAIN_GCC_AT_LEAST_13

config BR2_TOOLCHAIN_EXTERNAL_GCC_12
	bool "12.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
	select BR2_TOOLCHAIN_GCC_AT_LEAST_12

config BR2_TOOLCHAIN_EXTERNAL_GCC_11
	bool "11.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12
	select BR2_TOOLCHAIN_GCC_AT_LEAST_11

config BR2_TOOLCHAIN_EXTERNAL_GCC_10
	bool "10.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11
	select BR2_TOOLCHAIN_GCC_AT_LEAST_10

config BR2_TOOLCHAIN_EXTERNAL_GCC_9
	bool "9.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
	select BR2_TOOLCHAIN_GCC_AT_LEAST_9

config BR2_TOOLCHAIN_EXTERNAL_GCC_8
	bool "8.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9
	select BR2_TOOLCHAIN_GCC_AT_LEAST_8

config BR2_TOOLCHAIN_EXTERNAL_GCC_7
	bool "7.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
	select BR2_TOOLCHAIN_GCC_AT_LEAST_7

config BR2_TOOLCHAIN_EXTERNAL_GCC_6
	bool "6.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
	select BR2_TOOLCHAIN_GCC_AT_LEAST_6

config BR2_TOOLCHAIN_EXTERNAL_GCC_5
	bool "5.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
	select BR2_TOOLCHAIN_GCC_AT_LEAST_5

config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
	bool "4.9.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
	bool "4.8.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
	bool "4.7.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7

config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
	bool "4.6.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6

config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
	bool "4.5.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5

config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
	bool "4.4.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4

config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
	bool "4.3.x"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3

config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
	bool "older"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
	help
	  Use this option if your GCC version is older than any of the
	  above.

	  Note that the Buildroot community doesn't do any testing with
	  such old toolchains. Some packages may fail to build in
	  surprising ways, or the generated root filesystem may not
	  work at all. Use such old toolchains at your own risk.

endchoice

comment "GCC older than 4.8 is not tested by Buildroot. Use at your own risk."
	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

choice
	bool "External toolchain kernel headers series"
	default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
	help
	  Set to the kernel headers version that were used to build
	  this external toolchain.

	  This is used to hide/show some packages that have strict
	  requirements on the version of kernel headers.

	  If unsure what version your toolchain is using, you can look
	  at the value of LINUX_VERSION_CODE in linux/version.h in your
	  toolchain. The Linux version is M.m.p, with:
	    M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
	    m = ( LINUX_VERSION_CODE >> 8  ) & 0xFF
	    p = ( LINUX_VERSION_CODE >> 0  ) & 0xFF

	  If your toolchain uses headers newer than the latest version
	  in the choice, then select the latest version.

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_10
	bool "6.10.x or later"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_9
	bool "6.9.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_8
	bool "6.8.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_8

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_7
	bool "6.7.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_7

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6
	bool "6.6.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_5
	bool "6.5.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_4
	bool "6.4.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_3
	bool "6.3.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_2
	bool "6.2.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_1
	bool "6.1.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_0
	bool "6.0.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_19
	bool "5.19.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_18
	bool "5.18.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_18

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_17
	bool "5.17.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_16
	bool "5.16.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_15
	bool "5.15.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_14
	bool "5.14.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_13
	bool "5.13.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_12
	bool "5.12.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_11
	bool "5.11"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10
	bool "5.10.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9
	bool "5.9.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_8
	bool "5.8.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_7
	bool "5.7.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_6
	bool "5.6.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_5
	bool "5.5.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_4
	bool "5.4.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_3
	bool "5.3.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_2
	bool "5.2.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_1
	bool "5.1.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_0
	bool "5.0.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20
	bool "4.20.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19
	bool "4.19.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18
	bool "4.18.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17
	bool "4.17.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16
	bool "4.16.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15
	bool "4.15.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
	bool "4.14.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
	bool "4.13.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
	bool "4.12.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
	bool "4.11.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
	bool "4.10.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
	bool "4.9.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
	bool "4.8.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
	bool "4.7.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
	bool "4.6.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
	bool "4.5.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
	bool "4.4.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
	bool "4.3.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
	bool "4.2.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
	bool "4.1.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
	bool "4.0.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
	bool "3.19.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
	bool "3.18.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
	bool "3.17.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
	bool "3.16.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
	bool "3.15.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
	bool "3.14.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
	bool "3.13.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
	bool "3.12.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
	bool "3.11.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
	bool "3.10.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
	bool "3.9.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
	bool "3.8.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
	bool "3.7.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
	bool "3.6.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
	bool "3.5.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
	bool "3.4.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
	bool "3.3.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
	bool "3.2.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
	bool "3.1.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
	bool "3.0.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0

config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
	bool "2.6.x"

endchoice

comment "Kernel headers older than 3.13 is not tested by Buildroot. Use at your own risk."
	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13

choice
	prompt "External toolchain C library"
	default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC

config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
	bool "uClibc/uClibc-ng"
	select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	help
	  Select this option if your external toolchain uses the
	  uClibc (available from http://www.uclibc.org/)
	  or uClibc-ng (available from http://www.uclibc-ng.org)
	  C library.

config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
	bool "glibc"
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	help
	  Select this option if your external toolchain uses the GNU C
	  library (available from https://www.gnu.org/software/libc/).

config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
	bool "musl (experimental)"
	select BR2_TOOLCHAIN_EXTERNAL_MUSL
	help
	  Select this option if your external toolchain uses the
	  'musl' C library, available from http://www.musl-libc.org/.

endchoice

if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC

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?"
	default y
	select BR2_TOOLCHAIN_HAS_THREADS
	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.

if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS

config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
	bool "Toolchain has threads debugging support?"
	default y
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	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.

config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
	bool "Toolchain has NPTL threads support?"
	default y
	select BR2_TOOLCHAIN_HAS_THREADS_NPTL
	help
	  Select this option if your external toolchain uses the NPTL
	  (Native Posix Thread Library) implementation of Posix
	  threads. If you don't know, leave the default value,
	  Buildroot will tell you if it's correct or not.

endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS

endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC

config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
	bool "Toolchain has SSP support?"
	default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
	default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
	select BR2_TOOLCHAIN_HAS_SSP
	help
	  Select this option if your external toolchain has Stack
	  Smashing Protection support enabled. If you don't know,
	  leave the default value, Buildroot will tell you if it's
	  correct or not.

config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG
	bool "Toolchain has SSP strong support?"
	default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_TOOLCHAIN_EXTERNAL_GLIBC
	default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_TOOLCHAIN_EXTERNAL_MUSL
	depends on BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
	select BR2_TOOLCHAIN_HAS_SSP_STRONG
	help
	  Select this option if your external toolchain has strong
	  Stack Smashing Protection support enabled. If you don't
	  know, leave the default value, Buildroot will tell you if
	  it's correct or not.

config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
	bool "Toolchain has RPC support?"
	default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
	depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	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_EXTERNAL_DLANG
	bool "Toolchain has D support?"
	select BR2_TOOLCHAIN_HAS_DLANG
	help
	  Select this option if your external toolchain has D
	  support.

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

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

endif
