You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.5 KiB
98 lines
2.5 KiB
# C library |
|
|
|
# Copyright (c) 2016 Intel Corporation |
|
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
menu "C Library" |
|
|
|
config REQUIRES_FULL_LIBC |
|
bool |
|
help |
|
Helper symbol to indicate some feature requires a C library implementation |
|
with more functionality than what MINIMAL_LIBC provides |
|
|
|
config SUPPORT_MINIMAL_LIBC |
|
bool |
|
default y |
|
|
|
# Picolibc with C++ support in Zephyr SDK is handled by Zephyr SDK's own Kconfig. |
|
config PICOLIBC_SUPPORTED |
|
bool |
|
depends on ARC || ARM || ARM64 || MIPS || RISCV |
|
depends on "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "arcmwdt" |
|
depends on !(CPP && "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "zephyr") |
|
default y |
|
help |
|
Selected when the target has support for picolibc. |
|
|
|
choice LIBC_IMPLEMENTATION |
|
prompt "C Library Implementation" |
|
default EXTERNAL_LIBC if NATIVE_APPLICATION |
|
default NEWLIB_LIBC if REQUIRES_FULL_LIBC |
|
default MINIMAL_LIBC |
|
|
|
config MINIMAL_LIBC |
|
bool "Minimal C library" |
|
depends on !NATIVE_APPLICATION |
|
depends on !REQUIRES_FULL_LIBC |
|
depends on SUPPORT_MINIMAL_LIBC |
|
help |
|
Build with minimal C library. |
|
|
|
config PICOLIBC |
|
bool "Picolibc library" |
|
select THREAD_LOCAL_STORAGE if ARCH_HAS_THREAD_LOCAL_STORAGE && TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE |
|
select LIBC_ERRNO if THREAD_LOCAL_STORAGE |
|
depends on !NATIVE_APPLICATION |
|
depends on PICOLIBC_SUPPORTED |
|
help |
|
Build with picolibc library. The picolibc library is built as |
|
a module if PICOLIBC_MODULE is set, otherwise picolibc is |
|
expected to be provided by the toolchain. |
|
|
|
config NEWLIB_LIBC |
|
bool "Newlib C library" |
|
depends on !NATIVE_APPLICATION |
|
help |
|
Build with newlib library. The newlib library is expected to be |
|
part of the SDK in this case. |
|
|
|
config ARCMWDT_LIBC |
|
bool "ARC MWDT C library" |
|
depends on !NATIVE_APPLICATION |
|
depends on "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "arcmwdt" |
|
help |
|
C library provided by ARC MWDT toolchain. |
|
|
|
config EXTERNAL_LIBC |
|
bool "External C library" |
|
help |
|
Build with external/user provided C library. |
|
|
|
endchoice # LIBC_IMPLEMENTATION |
|
|
|
config HAS_NEWLIB_LIBC_NANO |
|
bool |
|
|
|
rsource "minimal/Kconfig" |
|
rsource "newlib/Kconfig" |
|
rsource "picolibc/Kconfig" |
|
|
|
config STDOUT_CONSOLE |
|
bool "Send stdout to console" |
|
depends on CONSOLE_HAS_DRIVER |
|
depends on !NATIVE_APPLICATION |
|
default y |
|
help |
|
This option directs standard output (e.g. printf) to the console |
|
device, rather than suppressing it entirely. See also EARLY_CONSOLE |
|
option. |
|
|
|
config NEED_LIBC_MEM_PARTITION |
|
bool |
|
help |
|
Hidden option to signal that a memory partition is needed for |
|
the C library even though it would not have been enabled |
|
otherwise. |
|
|
|
endmenu
|
|
|