blob: 9ab29048ca2bb074be30a05ce8980bf7fb7b5cf4 [file] [log] [blame]
# Copyright (c) 2023 Meta
# Copyright (c) 2024 BayLibre SAS
# Copyright (c) 2024 Tenstorrent AI ULC
#
# SPDX-License-Identifier: Apache-2.0
menuconfig POSIX_SINGLE_PROCESS
bool "POSIX single process support"
# imply COMMON_LIBC_MALLOC # for env.c
help
Select 'y' here to use confstr(), environ, errno, getenv(), setenv(), sysconf(), uname(),
or unsetenv().
For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html
if POSIX_SINGLE_PROCESS
choice POSIX_SYSCONF_IMPL_CHOICE
default POSIX_SYSCONF_IMPL_FULL if CPP
default POSIX_SYSCONF_IMPL_MACRO
prompt "Sysconf implementation method"
config POSIX_SYSCONF_IMPL_MACRO
bool "Macro"
help
The sysconf() function is implemented compile-time constant via macros. This is the option
with the least overhead. The downside is that sysconf() is not an addressable function.
config POSIX_SYSCONF_IMPL_FULL
bool "Full"
help
The sysconf() function is implemented as a large integer-integer array. The advantage if this
option is that all sysconf() options can be queried and that the sysconf() symbol is
addressable.
endchoice
config POSIX_UNAME_VERSION_LEN
int "uname version string length"
default 70
help
Defines the maximum string length of uname version.
config POSIX_UNAME_NODENAME_LEN
int "uname nodename string length"
default 6 if !NET_HOSTNAME_UNIQUE
default 22 if NET_HOSTNAME_UNIQUE
help
Defines the maximum string length of nodename version.
module = POSIX_ENV
module-str = POSIX env logging
source "subsys/logging/Kconfig.template.log_config"
endif # POSIX_SINGLE_PROCESS