From 997f5edf1a43252ffa644f471dddbfe7f9d99e47 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Wed, 7 Dec 2022 18:34:15 +0900 Subject: [PATCH] lib: libc: picolibc: Clean up Kconfig configurations This commit updates the Picolibc configurations to remove any unnecessary defaults and dependencies and conform to the de-facto standard convention across the Zephyr repository. Signed-off-by: Stephanos Ioannidis --- lib/libc/Kconfig | 7 +------ lib/libc/picolibc/Kconfig | 19 ++++--------------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/lib/libc/Kconfig b/lib/libc/Kconfig index 80eb99ddf8a..697a6ee9943 100644 --- a/lib/libc/Kconfig +++ b/lib/libc/Kconfig @@ -71,14 +71,9 @@ endchoice # LIBC_IMPLEMENTATION config HAS_NEWLIB_LIBC_NANO bool -if PICOLIBC - -source "lib/libc/picolibc/Kconfig" - -endif # PICOLIBC - rsource "minimal/Kconfig" rsource "newlib/Kconfig" +rsource "picolibc/Kconfig" config STDOUT_CONSOLE bool "Send stdout to console" diff --git a/lib/libc/picolibc/Kconfig b/lib/libc/picolibc/Kconfig index b8a9de692a5..492a02a87f0 100644 --- a/lib/libc/picolibc/Kconfig +++ b/lib/libc/picolibc/Kconfig @@ -1,6 +1,8 @@ # Copyright © 2021 Amazon.com, Inc. or its affiliates. # SPDX-License-Identifier: Apache-2.0 +if PICOLIBC + config PICOLIBC_USE_MODULE bool "Use picolibc module" default y @@ -29,20 +31,17 @@ config PICOLIBC_HEAP_SIZE config PICOLIBC_IO_LONG_LONG bool "support for long long in integer-only printf/scanf" - default n help Includes support for long long in integer-only printf/scanf. long long types are always supported in the floating-point versions. config PICOLIBC_IO_FLOAT bool "support for floating point values in printf/scanf" - default n help Include floating point support in printf/scanf functions. if PICOLIBC_USE_MODULE -if PICOLIBC choice PICOLIBC_OPTIMIZATIONS prompt "Optimization level" default PICOLIBC_SIZE_OPTIMIZATIONS if SIZE_OPTIMIZATIONS @@ -106,7 +105,6 @@ config PICOLIBC_IO_POS_ARGS config PICOLIBC_IO_FLOAT_EXACT bool "support for exact float/string conversion" default y - depends on PICOLIBC_USE_MODULE help Uses Ryu algorithm for exact binary/decimal float conversions. This ensures that printf values with enough digits can be @@ -114,29 +112,22 @@ config PICOLIBC_IO_FLOAT_EXACT config PICOLIBC_LOCALE_INFO bool "support locales in libc functions" - default n - depends on PICOLIBC_USE_MODULE help Includes code for basic locale support config PICOLIBC_LOCALE_EXTENDED_INFO bool "support extended locales in libc functions" - default n - depends on PICOLIBC_USE_MODULE help Includes code for extended locale support config PICOLIBC_MULTIBYTE bool "support multibyte functions in libc" - default n - depends on PICOLIBC_USE_MODULE help Includes code for multi-byte characters config PICOLIBC_PICOEXIT bool "use smaller atexit/onexit implementation" default y - depends on PICOLIBC_USE_MODULE help Provides a simpler atexit/onexit implementation that doesn't use malloc, but only supports a small number (32) of exit handlers. @@ -144,14 +135,12 @@ config PICOLIBC_PICOEXIT config PICOLIBC_MULTITHREAD bool "support multiple threads using retargetable locking API" default y - depends on PICOLIBC_USE_MODULE help Protects shared data structures in libc with mutexes that use an API which can be retargeted to OS provided routines. config PICOLIBC_GLOBAL_ERRNO bool "use a single global variable for errno" - depends on PICOLIBC_USE_MODULE help Picolibc usually uses a TLS variable for errno, ensuring that multiple threads have a reliable mechanism for detecting libc @@ -159,6 +148,6 @@ config PICOLIBC_GLOBAL_ERRNO which can be used to avoid TLS variable usage by the library if necessary. -endif +endif # PICOLIBC_USE_MODULE -endif +endif # PICOLIBC