#

if BR2_TOOLCHAIN_SOURCE
source "toolchain/elf2flt/Config.in"
source "toolchain/mklibs/Config.in"
source "toolchain/sstrip/Config.in"

config BR2_ENABLE_MULTILIB
	bool "Enable multilib support?"
	help
	    Build libraries to support different ABIs.

config BR2_LARGEFILE
	bool "Enable large file (files > 2 GB) support?"
	depends on !BR2_cris
	help
	    Enable large file (files > 2 GB) support

config BR2_INET_IPV6
	bool "Enable IPv6"
	help
	    Enable IPv6.

config BR2_INET_RPC
	bool "Enable RPC"
	help
	    Enable RPC. RPC support is needed for nfs.

config BR2_USE_WCHAR
	bool "Enable WCHAR support"
	help
	  Enable WCHAR. WCHAR support is needed for several packages

config BR2_SOFT_FLOAT
	bool "Use software floating point by default"
	depends on BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_nios2
	help
	  If your target CPU does not have a Floating Point Unit (FPU) or a
	  kernel FPU emulator, but you still wish to support floating point
	  functions, then everything will need to be compiled with soft
	  floating point support (-msoft-float).

	  Most people will answer N.

#config BR2_SOFT_FLOAT_FP
#	bool "Use softfp"

config BR2_TARGET_OPTIMIZATION
	string "Target Optimizations"
	default "-Os -pipe"
	help
	  Optimizations to use when building for the target host.

config BR2_CROSS_TOOLCHAIN_TARGET_UTILS
	bool "Include target utils in cross toolchain"
	default y
	help
	  When using buildroot to build a deployable cross toolchain,
	  it is handy to include certain target apps with that toolchain
	  as a convenience.
	  Examples include ldd, gdbserver, and strace.

	  Answer Y if you want these apps (if built) copied into the
	  cross toolchain dir under <arch>-linux-uclibc/target_utils/.

endif
