123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- menu "klibc options"
- menu "rt_vsnprintf options"
- config RT_KLIBC_USING_LIBC_VSNPRINTF
- bool "Enable rt_vsnprintf to use libc vsscanf"
- default n
- config RT_KLIBC_USING_VSNPRINTF_LONGLONG
- bool "Enable rt_vsnprintf function to support long-long format"
- depends on !RT_KLIBC_USING_LIBC_VSNPRINTF
- default n
- help
- Support for the long long integral types (with the ll, z and t length modifiers for specifiers
- %d,%i,%o,%x,%X,%u, and with the %p specifier). Note: 'L' (long double) is not supported.
- menuconfig RT_KLIBC_USING_VSNPRINTF_STANDARD
- bool "Enable standard rt_vsnprintf version"
- default y if ARCH_CPU_64BIT
- default n
- select RT_KLIBC_USING_VSNPRINTF_LONGLONG
- depends on !RT_KLIBC_USING_LIBC_VSNPRINTF
- help
- Standard version of rt_vsnprintf, which is full function but higher stack usage.
- if RT_KLIBC_USING_VSNPRINTF_STANDARD
- config RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
- bool "Support decimal notation floating point conversion specifiers (%f, %F)"
- default y
- help
- Support for the decimal notation floating point conversion specifiers (%f, %F)
- config RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
- bool "Support exponential notation floating point conversion specifiers (%e, %g, %E, %G)"
- default y
- help
- Support for the exponential notation floating point conversion specifiers (%e, %g, %E, %G)
- config RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
- bool "Support length write-back specifier (%n)"
- default y
- help
- Support for the length write-back specifier (%n)
- config RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
- bool "safety check: no NULL end string"
- default y if RT_USING_DEBUG
- default n
- help
- Be extra-safe, and don't assume format specifiers are completed correctly
- before the format string end.
- config RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS
- bool "Support MSVC style integer specifiers"
- default n
- help
- the integer format specifiers used in Microsoft's Visual C++ (MSVC) compiler.
- These specifiers, like %I64d for 64-bit integers, deviate slightly from the standard
- C format specifiers and are specific to MSVC. They allow for controlled formatting of
- integers in printf()-like functions, accommodating different integer sizes and ensuring
- compatibility with MSVC's environment. It's important to note that these specifiers might
- not be recognized or function in other compilers due to their MSVC-specific nature.
- config RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE
- int "'ntoa' conversion buffer size"
- default 32
- help
- 'ntoa' conversion buffer size, this must be big enough to hold one converted
- numeric number including padded zeros (dynamically created on stack)
- config RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE
- int "printing individual decimal numbers buffer size"
- default 32
- help
- size of the fixed (on-stack) buffer for printing individual decimal numbers.
- this must be big enough to hold one converted floating-point value including
- padded zeros.
- config RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION
- int "floating point conversion specifiers"
- default 6
- help
- Default precision for the floating point conversion specifiers (the C standard sets this at 6)
- config RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL
- int "integral nums printed as float in rt_vsnprint"
- default 9
- help
- According to the C languages standard, printf() and related functions must be able to print any
- integral number in floating-point notation, regardless of length, when using the %f specifier -
- possibly hundreds of characters, potentially overflowing your buffers. In this implementation,
- all values beyond this threshold are switched to exponential notation.
- config RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS
- int "the number of terms in a Taylor series expansion of log_10(x)"
- default 4
- range 2 99
- help
- The number of terms in a Taylor series expansion of log_10(x) to
- use for approximation - including the power-zero term (i.e. the
- value at the point of expansion).
- endif
- endmenu # rt_vsnprintf options
- menu "rt_vsscanf options"
- config RT_KLIBC_USING_LIBC_VSSCANF
- bool "Enable rt_vsscanf to use libc vsscanf"
- default n
- endmenu # rt_vsscanf options
- menu "rt_memset options"
- config RT_KLIBC_USING_USER_MEMSET
- bool "Enable rt_memset to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_MEMSET
- config RT_KLIBC_USING_LIBC_MEMSET
- bool "Enable rt_memset to use libc memset"
- default n
- config RT_KLIBC_USING_TINY_MEMSET
- bool "Enable rt_memset to use tiny version"
- depends on !RT_KLIBC_USING_LIBC_MEMSET
- default n
- endif
- endmenu # rt_memset options
- menu "rt_memcpy options"
- config RT_KLIBC_USING_USER_MEMCPY
- bool "Enable rt_memcpy to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_MEMCPY
- config RT_KLIBC_USING_LIBC_MEMCPY
- bool "Enable rt_memcpy to use libc memcpy"
- default n
- config RT_KLIBC_USING_TINY_MEMCPY
- bool "Enable rt_memcpy to use tiny version"
- depends on !RT_KLIBC_USING_LIBC_MEMCPY
- default n
- endif
- endmenu # rt_memcpy options
- menu "rt_memmove options"
- config RT_KLIBC_USING_USER_MEMMOVE
- bool "Enable rt_memmove to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_MEMMOVE
- config RT_KLIBC_USING_LIBC_MEMMOVE
- bool "Enable rt_memmove to use libc memmove"
- default n
- endif
- endmenu # rt_memmove options
- menu "rt_memcmp options"
- config RT_KLIBC_USING_USER_MEMCMP
- bool "Enable rt_memcmp to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_MEMCMP
- config RT_KLIBC_USING_LIBC_MEMCMP
- bool "Enable rt_memcmp to use libc memcmp"
- default n
- endif
- endmenu # rt_memcmp options
- menu "rt_strstr options"
- config RT_KLIBC_USING_USER_STRSTR
- bool "Enable rt_strstr to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_STRSTR
- config RT_KLIBC_USING_LIBC_STRSTR
- bool "Enable rt_strstr to use libc strstr"
- default n
- endif
- endmenu # rt_strstr options
- menu "rt_strcasecmp options"
- config RT_KLIBC_USING_USER_STRCASECMP
- bool "Enable rt_strcasecmp to use user-defined version"
- default n
- endmenu # rt_strcasecmp options
- menu "rt_strncpy options"
- config RT_KLIBC_USING_USER_STRNCPY
- bool "Enable rt_strncpy to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_STRNCPY
- config RT_KLIBC_USING_LIBC_STRNCPY
- bool "Enable rt_strncpy to use libc strncpy"
- default n
- endif
- endmenu # rt_strncpy options
- menu "rt_strcpy options"
- config RT_KLIBC_USING_USER_STRCPY
- bool "Enable rt_strcpy to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_STRCPY
- config RT_KLIBC_USING_LIBC_STRCPY
- bool "Enable rt_strcpy to use libc strcpy"
- default n
- endif
- endmenu # rt_strcpy options
- menu "rt_strncmp options"
- config RT_KLIBC_USING_USER_STRNCMP
- bool "Enable rt_strncmp to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_STRNCMP
- config RT_KLIBC_USING_LIBC_STRNCMP
- bool "Enable rt_strncmp to use libc strncmp"
- default n
- endif
- endmenu # rt_strncmp options
- menu "rt_strcmp options"
- config RT_KLIBC_USING_USER_STRCMP
- bool "Enable rt_strcmp to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_STRCMP
- config RT_KLIBC_USING_LIBC_STRCMP
- bool "Enable rt_strcmp to use libc strcmp"
- default n
- endif
- endmenu # rt_strcmp options
- menu "rt_strlen options"
- config RT_KLIBC_USING_USER_STRLEN
- bool "Enable rt_strlen to use user-defined version"
- default n
- if !RT_KLIBC_USING_USER_STRLEN
- config RT_KLIBC_USING_LIBC_STRLEN
- bool "Enable rt_strlen to use libc strlen"
- default n
- endif
- endmenu # rt_strlen options
- menu "rt_strnlen options"
- config RT_KLIBC_USING_USER_STRNLEN
- bool "Enable rt_strnlen to use user-defined version"
- default n
- endmenu # rt_strnlen options
- endmenu
|