blob: 1ad6cde26b0e334cbb397d3aca9cd233ff0f719d [file] [log] [blame]
# Kconfig - C library
#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
menu "C Library"
depends on !NATIVE_APPLICATION
config NEWLIB_LIBC
bool "Build with newlib c library"
help
Build with newlib library. The newlib library is expected to be
part of the SDK in this case.
if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "gnuarmemb"
config NEWLIB_LIBC_NANO
bool "Build with newlib-nano c library"
depends on NEWLIB_LIBC
default y
help
Build with newlib-nano library, for small embedded apps.
The newlib-nano library for ARM embedded processors is a part of the
GNU Tools for ARM Embedded Processors.
endif
config NEWLIB_LIBC_ALIGNED_HEAP_SIZE
int "Newlib aligned heap size"
depends on MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT
depends on NEWLIB_LIBC
depends on USERSPACE
default 0
help
If user mode is enabled, and MPU hardware has requirements that
regions be sized to a power of two and aligned to their size,
and user mode threads need to access this heap, then this is necessary
to properly define an MPU region for the heap.
If this is left at 0, then remaining system RAM will be used for this
area and it may not be possible to program it as an MPU region.
config NEWLIB_LIBC_FLOAT_PRINTF
bool "Build with newlib float printf"
depends on NEWLIB_LIBC
help
Build with floating point printf enabled. This will increase the size of
the image.
config NEWLIB_LIBC_FLOAT_SCANF
bool "Build with newlib float scanf"
depends on NEWLIB_LIBC
help
Build with floating point scanf enabled. This will increase the size of
the image.
config STDOUT_CONSOLE
bool "Send stdout to console"
depends on CONSOLE_HAS_DRIVER
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.
# Minimal libc options
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
int "Size of the minimal libc malloc arena"
depends on !NEWLIB_LIBC
default 0
help
Indicate the size of the memory arena used for minimal libc's
malloc() implementation. This size value must be compatible with
a sys_mem_pool definition with nmax of 1 and minsz of 16.
config MINIMAL_LIBC_LL_PRINTF
bool "Build with minimal libc long long printf" if !64BIT
depends on !NEWLIB_LIBC
default y if 64BIT
help
Build with long long printf enabled. This will increase the size of
the image.
endmenu