zephyr/scripts
Jordan Yates 79e467c92a scripts: kconfig: kconfiglib: introduce configdefault
Introduce the `configdefault` keyword as a Kconfig extension. This new
keyword allows `default` values to be applied to externally defined
symbols without needing to respecify dependencies, or weakening the
existing dependencies.

This is primarily useful in downstream repositories that wish to define
default configurations such as:
```
config MY_COMPANY_APPS
    bool "Apply defaults for internal applications"

configdefault BT
    default y if MY_COMPANY_APPS
configdefault MCUMGR
    default y if MY_COMPANY_APPS && BT
```

Obtaining the same functionality with `config` (without weakening the
symbol dependencies) requires finding the original definition and
duplicating any `depends on` and surrounding `if` statements. This is a
non-trivial exercise that needs to be manually rechecked on each Zephyr
update.

`configdefault` simplifies this process by acting as if the `default`
statement was present at any one of the original definitions of the
symbol.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-10-26 09:47:06 +02:00
..
build scripts: check_init_priorities: drop recursive child parsing 2023-10-25 18:39:31 -07:00
checkpatch kernel/timeout: introduce the timepoint API 2023-07-25 09:12:26 +02:00
ci scripts: Add arg to test_plan.py for alternative test locations 2023-10-24 09:04:09 +02:00
coccinelle scripts: coccinelle: Remove strtok_r symbol from checklist 2023-08-23 16:05:08 +01:00
coredump gdbstub: xtensa: add support for dc233c core 2023-09-27 19:30:15 -05:00
dts edtlib: link child nodes to parent for nodes with child-bindings 2023-10-25 18:39:31 -07:00
footprint footprint: ci: ehl_crb board has been renamed. 2023-08-28 10:28:18 +02:00
generate_usb_vif USB-C: genVIF: Cleanup and add support to pick static data from input 2023-05-26 13:54:43 -04:00
gitlint gitlint: exclude long line with co-authored-by 2023-09-27 06:20:16 -04:00
kconfig scripts: kconfig: kconfiglib: introduce configdefault 2023-10-26 09:47:06 +02:00
logging/dictionary scripts/log_parser: Handle signed and unsigned char length modifier 2023-09-25 19:41:50 +02:00
native_simulator native simulator: Get latest from upstream 2023-10-20 15:20:43 +02:00
net net: script: Fix the net-tools path 2023-10-06 16:14:39 +03:00
pylib scripts: twister: get status of coverage data processing 2023-10-25 09:57:15 +02:00
pylint/checkers scripts: pylint: Add argument parser abbreviation checker 2023-01-26 20:12:36 +09:00
release scripts: drop list_issues.py 2023-07-25 16:45:15 +02:00
schemas twister: support filtering by vendor 2023-09-22 09:29:36 +02:00
support treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
tests doc: ztest: adapt ztest docs 2023-10-20 15:04:29 +02:00
tracing tracing: scripts: Fix spelling 2023-02-08 01:09:31 +09:00
utils util: increase several macros limit from 255 to 4095 2023-10-05 06:10:06 -04:00
west_commands scripts: west: commands: tests: dfu_util: fix test under Python 3.12 2023-10-26 07:17:10 +02:00
.gitignore
checkpatch.pl scripts: Exclude spelling.txt from spelling check 2023-08-04 21:18:43 +00:00
checkstack.pl
coccicheck
dump_bugs_pickle.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_gcov_files.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
get_maintainer.py scripts: get_maintainer: Fix glob pattern directory match error logic 2023-04-26 00:29:25 +09:00
github_helpers.py
list_boards.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
make_bugs_pickle.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
requirements-base.txt west.cmake: make MIN_WEST_VERSION catch up with requirements-base.txt 2023-05-22 10:17:11 +02:00
requirements-build-test.txt
requirements-compliance.txt scripts: compliance: add support for YAMLLint 2023-01-04 17:29:23 +01:00
requirements-extras.txt scripts: Update CFB font generator 2023-09-13 14:40:00 -07:00
requirements-run-test.txt twister: Use natural sort when generating hardware map 2023-06-17 07:54:46 -04:00
requirements.txt doc: move requirements to doc/ 2023-07-12 09:13:49 -04:00
series-push-hook.sh
set_assignees.py ci: various set_assignee fixes 2023-10-20 15:10:11 +02:00
snippets.py twister: Add support for required snippets 2023-09-06 16:40:53 +02:00
spelling.txt doc: Fix a typo 2023-08-04 21:18:43 +00:00
tags.sh
twister twister: Fix description of relationship between filter and allow/exclude 2023-10-17 18:55:35 +03:00
valgrind.supp valgrind: Update suppression file to align with updated POSIX arch 2023-07-05 07:01:19 -04:00
west-commands.yml west: commands: Add bindesc command 2023-09-28 07:39:09 -04:00
zephyr_module.py scripts: kconfig: Always generate ZEPHYR_*_MODULE 2023-10-24 10:53:24 +02:00