#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

config STDIO_BUFFER_SIZE
	int "C STDIO buffer size"
	default 64
	---help---
		Size of buffers using within the C buffered I/O interfaces.
		(printf, putchar, fwrite, etc.).

config STDIO_LINEBUFFER
	bool "STDIO line buffering"
	default y
	---help---
		Flush buffer I/O whenever a newline character is found in
		the output data stream.

config NUNGET_CHARS
	int "Number unget() characters"
	default 2
	---help---
		Number of characters that can be buffered by ungetc() (Only if NFILE_STREAMS > 0)

config LIB_HOMEDIR
	string "Home directory"
	default "/"
	depends on !DISABLE_ENVIRON
	---help---
		The home directory to use with operations like such as 'cd ~'

config HAVE_LIBM
	bool "Architecture-specific libm.a"
	default n
	---help---
		Architecture specific logic provides an implementation of libm.a
		and a math.h header file that can be found at include/arch/math.h.

config NOPRINTF_FIELDWIDTH
	bool "Disable sprintf support fieldwidth"
	default n
	---help---
	sprintf-related logic is a
	little smaller if we do not support fieldwidthes

config LIBC_FLOATINGPOINT
	bool "Enable floating point in printf"
	default n
	---help---
		By default, floating point
		support in printf, sscanf, etc. is disabled.

config LIBC_STRERROR
	bool "Enable strerror"
	default n
	---help---
		strerror() is useful because it decodes 'errno' values into a human readable
		strings.  But it can also require a lot of memory.  If this option is selected,
		strerror() will still exist in the build but it will not decode error values.
		This option should be used by other logic to decide if it should use strerror()
		or not.  For example, the NSH application will not use strerror() if this
		option is not selected; perror() will not use strerror() is this option is not
		selected (see also NSH_STRERROR).

config LIBC_STRERROR_SHORT
	bool "Use short error descriptions in strerror()"
	default n
	depends on LIBC_STRERROR
	---help---
		If this option is selected, then strerror() will use a shortened string when
		it decodes the error.  Specifically, strerror() is simply use the string that
		is the common name for the error.  For example, the 'errno' value of 2 will
		produce the string "No such file or directory" is LIBC_STRERROR_SHORT
		is not defined but the string "ENOENT" is LIBC_STRERROR_SHORT is defined.

config LIBC_PERROR_STDOUT
	bool "perror() to stdout"
	default n
	---help---
		POSIX requires that perror() provide its output on stderr.  This option may
		be defined, however, to provide perror() output that is serialized with
		other stdout messages.

config LIBC_PERROR_DEVNAME
	string "perror() to device"
	default "/dev/console"
	depends on !LIBC_PERROR_STDOUT
	---help---
		Another non-standard option is to provide perror() output to a logging device
		or file. LIBC_PERROR_DEVNAME may be defined to be any write-able,
		character device (or file).

config ARCH_LOWPUTC
	bool "Low-level console output"
	default "y"
	---help---
	  architecture supports low-level, boot time console output
	  
config ENABLE_ARCH_OPTIMIZED_FUN
	bool "Enable arch optimized functions"
	default n
	---help---
		Allow for architecture optimized implementations
		
		The architecture can provide optimized versions of the
		following to improve system performance

		The architecture may provide custom versions of certain
		standard header files:
		config ARCH_MATH_H, ARCH_STDBOOL_H, ARCH_STDINT_H

if 	ENABLE_ARCH_OPTIMIZED_FUN
config ARCH_MEMCPY
	bool "memcpy"
	default n

config ARCH_MEMCMP
	bool "memcmp"
	default n

config ARCH_MEMMOVE
	bool "memmove"
	default n

config ARCH_MEMSET
	bool "memset"
	default n

config ARCH_STRCMP
	bool "strcmp"
	default n

config ARCH_STRCPY
	bool "strcpy"
	default n

config ARCH_STRNCPY
	bool "strncpy"
	default n

config ARCH_STRLEN
	bool "strlen"
	default n

config ARCH_STRNLEN
	bool "strlen"
	default n

config ARCH_BZERO
	bool "bzero"
	default n
endif
