zephyr/lib/posix/Kconfig
Ulf Magnusson eddd98f811 kconfig: Replace some single-symbol 'if's with 'depends on'
I think people might be reading differences into 'if' and 'depends on'
that aren't there, like maybe 'if' being needed to "hide" a symbol,
while 'depends on' just adds a dependency.

There are no differences between 'if' and 'depends on'. 'if' is just a
shorthand for 'depends on'. They work the same when it comes to creating
implicit menus too.

The way symbols get "hidden" is through their dependencies not being
satisfied ('if'/'depends on' get copied up as a dependency on the
prompt).

Since 'if' and 'depends on' are the same, an 'if' with just a single
symbol in it can be replaced with a 'depends on'. IMO, it's best to
avoid 'if' there as a style choice too, because it confuses people into
thinking there's deep Kconfig magic going on that requires 'if'.

Going for 'depends on' can also remove some nested 'if's, which
generates nicer symbol information and docs, because nested 'if's really
are so simple/dumb that they just add the dependencies from both 'if's
to all symbols within.

Replace a bunch of single-symbol 'if's with 'depends on' to despam the
Kconfig files a bit and make it clearer how things work. Also do some
other minor related dependency refactoring.

The replacement isn't complete. Will fix up the rest later. Splitting it
a bit to make it more manageable.

(Everything above is true for choices, menus, and comments as well.)

Detected by tweaking the Kconfiglib parsing code. It's impossible to
detect after parsing, because 'if' turns into 'depends on'.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 08:32:42 -05:00

110 lines
2.6 KiB
Plaintext

# Copyright (c) 2018 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
config POSIX_MAX_FDS
int "Maximum number of open file descriptors"
default 16 if POSIX_API
default 4
help
Maximum number of open file descriptors, this includes
files, sockets, special devices, etc.
config POSIX_API
depends on !ARCH_POSIX
bool "POSIX APIs"
help
Enable mostly-standards-compliant implementations of
various POSIX (IEEE 1003.1) APIs.
config PTHREAD_IPC
bool "POSIX pthread IPC API"
default y if POSIX_API
help
This enables a mostly-standards-compliant implementation of
the pthread mutex, condition variable and barrier IPC
mechanisms.
if PTHREAD_IPC
config MAX_PTHREAD_COUNT
int "Maximum simultaneously active pthread count in POSIX application"
default 5
range 0 255
help
Maximum number of simultaneously active threads in a POSIX application.
config SEM_VALUE_MAX
int "Maximum semaphore limit"
default 32767
range 1 32767
help
Maximum semaphore count in POSIX compliant Application.
endif # PTHREAD_IPC
config POSIX_CLOCK
bool "POSIX clock, timer, and sleep APIs"
default y if POSIX_API
help
This enables POSIX clock\_\*(), timer\_\*(), and \*sleep()
functions.
config MAX_TIMER_COUNT
int "Maximum timer count in POSIX application"
default 5
range 0 255
help
Mention maximum number of timers in POSIX compliant application.
config POSIX_MQUEUE
bool "Enable POSIX message queue"
default y if POSIX_API
help
This enabled POSIX message queue related APIs.
if POSIX_MQUEUE
config MSG_COUNT_MAX
int "Maximum number of messages in message queue"
default 16
help
Mention maximum number of messages in message queue in POSIX compliant
application.
config MSG_SIZE_MAX
int "Maximum size of a message"
default 16
help
Mention maximum size of message in bytes.
config MQUEUE_NAMELEN_MAX
int "Maximum size of a name length"
default 16
range 2 255
help
Mention length of message queue name in number of characters.
endif
config POSIX_FS
bool "Enable POSIX file system API support"
default y if POSIX_API
depends on FILE_SYSTEM
help
This enables POSIX style file system related APIs.
config POSIX_MAX_OPEN_FILES
int "Maximum number of open file descriptors"
default 16
depends on POSIX_FS
help
Maximum number of open files. Note that this setting
is additionally bounded by CONFIG_POSIX_MAX_FDS.
# The name of this option is mandated by zephyr_interface_library_named
# cmake directive.
config APP_LINK_WITH_POSIX_SUBSYS
bool "Make POSIX headers available to application"
default y
depends on POSIX_API
help
Add POSIX subsystem header files to the 'app' include path.