diff options
Diffstat (limited to 'nuttx/libc/Kconfig')
-rw-r--r-- | nuttx/libc/Kconfig | 275 |
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 |