| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| menu "Time/Time Zone Support" |
| |
| config LIBC_STRFTIME_C_STANDARD_FORMATS |
| bool "strftime ISO C conversion specifiers" |
| default !DEFAULT_SMALL |
| ---help--- |
| Enable ISO C strftime conversion specifiers that are not part of |
| the small always-enabled subset. Disabling this option |
| removes support for %A, %B, %I, %j, %p, %U, %w, %W, %x, %X, and |
| %y. The always-enabled subset is %a, %b/%h, %d, %H, %m, %M, |
| %S, %Y, and %%. |
| |
| Disabling this option makes strftime smaller, but the implementation |
| no longer supports all conversion specifiers required by ISO C. |
| |
| config LIBC_STRFTIME_POSIX_FORMATS |
| bool "strftime POSIX conversion specifiers" |
| default !DEFAULT_SMALL |
| depends on LIBC_STRFTIME_C_STANDARD_FORMATS |
| ---help--- |
| Enable POSIX strftime conversion specifiers beyond ISO C that are |
| implemented by NuttX. Disabling this option removes support for |
| %C, %e, %F, %g, %G, %n, %r, %R, %t, %T, %u, %V, and %z. |
| Enabling this option also enables the ISO C conversion specifiers. |
| |
| Note that %h is kept in the always-enabled subset as an alias for |
| %b because it shares the same implementation. Some POSIX |
| specifiers may be controlled by other options. |
| |
| config LIBC_STRFTIME_NONSTANDARD_FORMATS |
| bool "strftime non-standard conversion specifiers" |
| default !DEFAULT_SMALL |
| ---help--- |
| Enable NuttX/GNU-style strftime conversion specifiers that are not |
| required by ISO C or POSIX. Disabling this option removes support |
| for %k, %l, %P, and %s. |
| |
| config LIBC_LOCALTIME |
| bool "localtime API call support" |
| default "n" |
| depends on !DISABLE_ENVIRON |
| ---help--- |
| localtime API call support |
| |
| Logic currently depends on file system support with, at a minimum, these |
| files in the zoneinfo directory: GMT and posixrules. An additional |
| timezone file is required for any additional, local time zone(s) and the |
| environment variable TZ must be set to the name of that timezone file |
| when tzset() is called. |
| |
| See https://www.iana.org/time-zones . See also libs/libc/zoneinfo |
| which provides a framework for incorporating the TZ database into a |
| NuttX build. |
| |
| if LIBC_LOCALTIME |
| |
| config LIBC_TZ_MAX_TIMES |
| int "Maximum number of times in timezone" |
| default 370 |
| ---help--- |
| Timezone files with more than this number of times will not be used |
| (timecnt). |
| |
| Warning: Some files in IANA TZ database include many times. The current |
| posixrules file, for example, has timecnt = 236. The value of |
| TX_MAX_ITMES in the tzfile.h header file on my Linux system is 370, the |
| default used here. You may want to reduce this value for a smaller |
| footprint. |
| |
| config LIBC_TZ_MAX_TYPES |
| int "Maximum number of TZ types" |
| default 20 |
| ---help--- |
| Maximum number of local time types. You may want to reduce this value |
| for a smaller footprint. |
| |
| config LIBC_TZDIR |
| string "zoneinfo directory path" |
| default "/etc/zoneinfo" |
| ---help--- |
| This is the full path to the location where the TZ database is expected |
| to be found. |
| |
| config LIBC_ZONEINFO |
| bool "TZ database" |
| default n |
| ---help--- |
| Download and build the TZ/Olson database. |
| |
| if LIBC_ZONEINFO |
| |
| config LIBC_ZONEINFO_ROMFS |
| bool "Build ROMFS filesystem" |
| default n |
| depends on FS_ROMFS |
| ---help--- |
| Build a mountable ROMFS filesystem containing the TZ/Olson database |
| |
| endif # LIBC_ZONEINFO |
| endif # LIBC_LOCALTIME |
| endmenu # Time/Time Zone Support |