comment "Binutils Options"

config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
	bool
	default y
	depends on !BR2_microblaze

choice
	prompt "Binutils Version"
	default BR2_BINUTILS_VERSION_2_34_X if !BR2_arc && !BR2_csky
	default BR2_BINUTILS_VERSION_ARC if BR2_arc
	default BR2_BINUTILS_VERSION_CSKY if BR2_csky
	help
	  Select the version of binutils you wish to use.

config BR2_BINUTILS_VERSION_2_32_X
	bool "binutils 2.32"
	depends on !BR2_csky

config BR2_BINUTILS_VERSION_2_33_X
	bool "binutils 2.33.1"
	depends on !BR2_csky
	# https://github.com/uclinux-dev/elf2flt/pull/16
	# https://github.com/uclinux-dev/elf2flt/issues/12
	depends on !BR2_BINFMT_FLAT

config BR2_BINUTILS_VERSION_2_34_X
	bool "binutils 2.34"
	depends on !BR2_csky
	# https://github.com/uclinux-dev/elf2flt/pull/16
	# https://github.com/uclinux-dev/elf2flt/issues/12
	depends on !BR2_BINFMT_FLAT

config BR2_BINUTILS_VERSION_2_35_X
	bool "binutils 2.35.1"
	depends on !BR2_csky
	# https://github.com/uclinux-dev/elf2flt/pull/16
	# https://github.com/uclinux-dev/elf2flt/issues/12
	depends on !BR2_BINFMT_FLAT

config BR2_BINUTILS_VERSION_ARC
	bool "binutils arc (2.34.50)"
	depends on BR2_arc

config BR2_BINUTILS_VERSION_CSKY
	bool "binutils csky"
	depends on BR2_csky

endchoice

config BR2_BINUTILS_VERSION
	string
	default "arc-2020.09-release"	if BR2_BINUTILS_VERSION_ARC
	default "c66d8bbcebfddf713b2b436e1b135e6b125a55a5" if BR2_BINUTILS_VERSION_CSKY
	default "2.32"		if BR2_BINUTILS_VERSION_2_32_X
	default "2.33.1"	if BR2_BINUTILS_VERSION_2_33_X
	default "2.34"		if BR2_BINUTILS_VERSION_2_34_X
	default "2.35.1"	if BR2_BINUTILS_VERSION_2_35_X

config BR2_BINUTILS_ENABLE_LTO
	bool

config BR2_BINUTILS_EXTRA_CONFIG_OPTIONS
	string "Additional binutils options"
	default ""
	help
	  Any additional binutils options you may want to include.
