aboutsummaryrefslogtreecommitdiff
path: root/nuttx/libc/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/libc/Kconfig')
-rw-r--r--nuttx/libc/Kconfig275
1 files changed, 275 insertions, 0 deletions
diff --git a/nuttx/libc/Kconfig b/nuttx/libc/Kconfig
new file mode 100644
index 000000000..bd470be7f
--- /dev/null
+++ b/nuttx/libc/Kconfig
@@ -0,0 +1,275 @@
+#
+# 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 ~'
+
+source libc/math/Kconfig
+
+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.
+
+choice
+ prompt "Newline Options"
+ default EOL_IS_EITHER_CRLF
+ ---help---
+ This selection determines the line terminating character that is used.
+ Some environments may return CR as end-of-line, others LF, and others
+ both. If not specified, the default is either CR or LF (but not both)
+ as the line terminating charactor.
+
+config EOL_IS_CR
+ bool "EOL is CR"
+
+config EOL_IS_LF
+ bool "EOL is LF"
+
+config EOL_IS_BOTH_CRLF
+ bool "EOL is CR and LF"
+
+config EOL_IS_EITHER_CRLF
+ bool "EOL is CR or LF"
+
+endchoice
+
+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 ARCH_LOWPUTC
+ bool "Low-level console output"
+ default "y"
+ ---help---
+ architecture supports low-level, boot time console output
+
+config LIB_SENDFILE_BUFSIZE
+ int "sendfile() buffer size"
+ default 512
+ ---help---
+ Size of the I/O buffer to allocate in sendfile(). Default: 512b
+
+config ARCH_ROMGETC
+ bool "Support for ROM string access"
+ default n
+ ---help---
+ In Harvard architectures, data accesses and instruction accesses
+ occur on different busses, perhaps concurrently. All data accesses
+ are performed on the data bus unless special machine instructions
+ are used to read data from the instruction address space. Also, in
+ the typical MCU, the available SRAM data memory is much smaller that
+ the non-volatile FLASH instruction memory. So if the application
+ requires many constant strings, the only practical solution may be
+ to store those constant strings in FLASH memory where they can only
+ be accessed using architecture-specific machine instructions.
+
+ If ARCH_ROMGETC is defined, then the architecture logic must export
+ the function up_romgetc(). up_romgetc() will simply read one byte
+ of data from the instruction space.
+
+ If ARCH_ROMGETC, certain C stdio functions are effected: (1) All
+ format strings in printf, fprintf, sprintf, etc. are assumed to lie
+ in FLASH (string arguments for %s are still assumed to reside in SRAM).
+ And (2), the string argument to puts and fputs is assumed to reside
+ in FLASH. Clearly, these assumptions may have to modified for the
+ particular needs of your environment. There is no "one-size-fits-all"
+ solution for this problem.
+
+config ARCH_OPTIMIZED_FUNCTIONS
+ bool "Enable arch optimized functions"
+ default n
+ ---help---
+ Allow for architecture optimized implementations of certain library
+ functions. Architecture-specific implementations can improve overall
+ system performance.
+
+if ARCH_OPTIMIZED_FUNCTIONS
+config ARCH_MEMCPY
+ bool "memcpy()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of memcpy().
+
+config MEMCPY_VIK
+ bool "Vik memcpy()"
+ default n
+ depends on !ARCH_MEMCPY
+ ---help---
+ Select this option to use the optimized memcpy() function by Daniel Vik.
+ Select this option for improved performance at the expense of increased
+ size. See licensing information in the top-level COPYING file.
+
+if MEMCPY_VIK
+config MEMCPY_PRE_INC_PTRS
+ bool "Pre-increment pointers"
+ default n
+ ---help---
+ Use pre-increment of pointers. Default is post increment of pointers.
+
+config MEMCPY_INDEXED_COPY
+ bool "Array indexing"
+ default y
+ ---help---
+ Copying data using array indexing. Using this option, disables the
+ MEMCPY_PRE_INC_PTRS option.
+
+config MEMCPY_64BIT
+ bool "64-bit memcpy()"
+ default n
+ ---help---
+ Compiles memcpy() for architectures that suppport 64-bit operations
+ efficiently.
+
+endif
+
+config ARCH_MEMCMP
+ bool "memcmp()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of memcmp().
+
+config ARCH_MEMMOVE
+ bool "memmove()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of memmove().
+
+config ARCH_MEMSET
+ bool "memset()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of memset().
+
+config MEMSET_OPTSPEED
+ bool "Optimize memset() for speed"
+ default n
+ depends on !ARCH_MEMSET
+ ---help---
+ Select this option to use a version of memcpy() optimized for speed.
+ Default: memcpy() is optimized for size.
+
+config MEMSET_64BIT
+ bool "64-bit memset()"
+ default n
+ depends on MEMSET_OPTSPEED
+ ---help---
+ Compiles memset() for architectures that suppport 64-bit operations
+ efficiently.
+
+config ARCH_STRCHR
+ bool "strchr()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of strchr().
+
+config ARCH_STRCMP
+ bool "strcmp()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of strcmp().
+
+config ARCH_STRCPY
+ bool "strcpy()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of strcpy().
+
+config ARCH_STRNCPY
+ bool "strncpy()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of strncpy().
+
+config ARCH_STRLEN
+ bool "strlen"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of strlen().
+
+config ARCH_STRNLEN
+ bool "strlen()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of strnlen().
+
+config ARCH_BZERO
+ bool "bzero()"
+ default n
+ ---help---
+ Select this option if the architecture provides an optimized version
+ of bzero().
+
+endif