Accurately applying clock skew correction in `timeutil_sync_ref_from_local` and `timeutil_sync_local_from_ref` requires double-precision floating point operations. If this is the only usage of double precision logic in the build, but clocks skews are not used, this can be a significant ROM overhead. Disabling this option can save ~2.4 kB of ROM. Signed-off-by: Jordan Yates <jordan@embeint.com>
112 lines
3.4 KiB
Plaintext
112 lines
3.4 KiB
Plaintext
# Copyright (c) 2016 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "Utility Library"
|
|
|
|
config JSON_LIBRARY
|
|
bool "Build JSON library"
|
|
help
|
|
Build a minimal JSON parsing/encoding library. Used by sample
|
|
applications such as the NATS client.
|
|
|
|
config JSON_LIBRARY_FP_SUPPORT
|
|
bool "Floating point support in JSON library"
|
|
depends on JSON_LIBRARY
|
|
select CBPRINTF_FP_SUPPORT
|
|
select REQUIRES_FULL_LIBC
|
|
help
|
|
Build the JSON library with support for floating point types.
|
|
|
|
Requires a libc implementation with support for floating point
|
|
functions: strtof(), strtod(), isnan() and isinf().
|
|
|
|
config RING_BUFFER
|
|
bool "Ring buffers"
|
|
help
|
|
Provide highly efficient ring buffer management for arbitrary data.
|
|
Some facilities such as kernel pipes are built on top of this.
|
|
May be used directly e.g. when the pipe overhead is unnecessary.
|
|
|
|
config RING_BUFFER_LARGE
|
|
bool "Allow large ring buffer sizes"
|
|
depends on RING_BUFFER
|
|
help
|
|
Increase maximum buffer size from 32KB to 2GB. When this is enabled,
|
|
all struct ring_buf instances become 12 bytes bigger.
|
|
|
|
config NOTIFY
|
|
bool "Asynchronous Notifications"
|
|
help
|
|
Use this API to support async transactions.
|
|
|
|
config BASE64
|
|
bool "Base64 encoding and decoding"
|
|
help
|
|
Enable base64 encoding and decoding functionality
|
|
|
|
config ONOFF
|
|
bool "On-Off Manager"
|
|
select NOTIFY
|
|
help
|
|
An on-off manager supports an arbitrary number of clients of a
|
|
service which has a binary state. Example applications are power
|
|
rails, clocks, and binary device power management.
|
|
|
|
config WINSTREAM
|
|
bool "Lockless shared memory window byte stream"
|
|
help
|
|
Winstream is a byte stream IPC for use in shared memory
|
|
"windows", generally for transmit to non-Zephyr contexts that
|
|
can't share Zephyr APIs or data structures.
|
|
|
|
if WINSTREAM
|
|
config WINSTREAM_STDLIB_MEMCOPY
|
|
bool "Use standard memcpy() in winstream"
|
|
help
|
|
The sys_winstream utility is sometimes used in early boot
|
|
environments before the standard library is usable. By
|
|
default it uses a simple internal bytewise memcpy(). Set
|
|
this to use the one from the standard library.
|
|
endif
|
|
|
|
config UTF8
|
|
bool "UTF-8 string operation supported"
|
|
help
|
|
Enable the utf8 API. The API implements functions to specifically
|
|
handle UTF-8 encoded strings.
|
|
|
|
config COBS
|
|
bool "Consistent overhead byte stuffing"
|
|
select NET_BUF
|
|
help
|
|
Enable consistent overhead byte stuffing
|
|
|
|
config GETOPT
|
|
bool "Getopt library support"
|
|
help
|
|
This option adds support of the sys_getopt API.
|
|
|
|
config GETOPT_LONG
|
|
bool "Getopt long library support"
|
|
depends on GETOPT
|
|
help
|
|
This option adds support of the getopt long.
|
|
Different shell backends are using their own instance of getopt to
|
|
not interfere with each other.
|
|
All not shell threads share one global instance of getopt state, hence
|
|
apart from shell this library is not thread safe. User can add support
|
|
for other threads by extending function sys_getopt_state_get in
|
|
getopt_common.c file.
|
|
|
|
config TIMEUTIL_APPLY_SKEW
|
|
bool "Support applying clock skew corrections in conversion functions"
|
|
default y
|
|
help
|
|
Accurately applying clock skew correction in timeutil_sync_ref_from_local
|
|
and timeutil_sync_local_from_ref requires double-precision floating point
|
|
operations. If this is the only usage of double precision logic in the
|
|
build, but clocks skews are not used, this can be a significant ROM
|
|
overhead. Disabling this option can save ~2.4 kB of ROM.
|
|
|
|
endmenu
|