comment "Binutils Options"

choice
	prompt "Binutils Version"
	depends on !BR2_arc
	depends on !BR2_microblaze
	default BR2_BINUTILS_VERSION_2_21 if (BR2_mips || BR2_mipsel || BR2_sh)
	default BR2_BINUTILS_VERSION_2_22
	help
	  Select the version of binutils you wish to use.

	config BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1
		depends on BR2_avr32
		bool "binutils 2.18-avr32-1.0.1"

	config BR2_BINUTILS_VERSION_2_20_1
		depends on !BR2_avr32
		depends on !BR2_ARM_EABIHF
		bool "binutils 2.20.1"

	config BR2_BINUTILS_VERSION_2_21
		depends on !BR2_avr32
		depends on !BR2_ARM_EABIHF
		bool "binutils 2.21"

	config BR2_BINUTILS_VERSION_2_21_1
		depends on !BR2_avr32
		depends on !BR2_ARM_EABIHF
		bool "binutils 2.21.1"

	config BR2_BINUTILS_VERSION_2_22
		depends on !BR2_avr32
		bool "binutils 2.22"

	config BR2_BINUTILS_VERSION_2_23_1
		depends on !BR2_avr32
		bool "binutils 2.23.1"

	config BR2_BINUTILS_VERSION_2_23_2
		depends on !BR2_avr32
		bool "binutils 2.23.2"

	config BR2_BINUTILS_VERSION_2_24
		depends on !BR2_avr32
		bool "binutils 2.24"

endchoice

config BR2_BINUTILS_VERSION
	string
	default "2.18-avr32-1.0.1" if BR2_BINUTILS_VERSION_2_18_AVR32_1_0_1
	default "0c824ba511fa9b028220eb3c39b566af89ac9dda" if BR2_arc
	default "8351467c933d277ebea0c8d99ad2b65b5f7b6bc2" if BR2_microblaze
	default "2.20.1"	if BR2_BINUTILS_VERSION_2_20_1
	default "2.21"		if BR2_BINUTILS_VERSION_2_21
	default "2.21.1"	if BR2_BINUTILS_VERSION_2_21_1
	default "2.22"		if BR2_BINUTILS_VERSION_2_22
	default "2.23.1"	if BR2_BINUTILS_VERSION_2_23_1
	default "2.23.2"	if BR2_BINUTILS_VERSION_2_23_2
	default "2.24"		if BR2_BINUTILS_VERSION_2_24

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