-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Features #112
base: master
Are you sure you want to change the base?
Features #112
Conversation
Projects such as Zephyr OS have a module system, where Kconfig files can exist in multiple directories that are effectively merged together by the build system. In other words, one project directory can refer to subdir/Kconfig where subdir/ is actually in another project directory. As an example: zephyr/ - main source directory Kconfig - main Kconfig file module/ec - module directory motion/ - motion subsystem Kconfig - Kconfig file for motion subsystem Wtih the above, we might have, in zephyr/Kconfig: source "motion/Kconfig" and it automatically locates the file in the module/ec directory. Add support for this, by allowing a list of search paths to be supplied to Kconfiglib. Signed-off-by: Simon Glass <[email protected]>
When parsing Kconfig which include macros it is currently necessary to provide a value for all macros in advance. This may not be possible in some cases, e.g. when the caller is performing checks on the Kconfig options but is not running a full build of the project. Add an option to support this. This allows parsing of Zephyr Kconfig files without specifying a particular board, etc. Signed-off-by: Simon Glass <[email protected]>
When parsing Kconfig which include macros it is currently necessary to provide a value for all macros in advance. This may not be possible in some cases, e.g. when the caller is performing checks on the Kconfig options but is not running a full build of the project. Add an option to support this. This allows parsing of Zephyr Kconfig files without specifying a particular board, etc. This corresponds to upstream PR: ulfalizer/Kconfiglib#112 but it looks like the project might be dead as there is no activity in 18 months. Signed-off-by: Simon Glass <[email protected]> Change-Id: Icf36da1e47fb7293f3d8bc3569affd7cd7598100
Add some changes to allow this library to work with Zephyr: - Ability to have Kconfig files in multiple projects directories - Ability to ignore variable expansion failures, since there are so many Kconfig variables in Zephyr These changes have been sent upstream here: ulfalizer/Kconfiglib#112 and to Zephyr here: zephyrproject-rtos/zephyr#42233 so this also includes the one Zephyr-local commit: 66d1b3ce106 kconfig: kconfiglib.py: Backup files only All three commits are based on Kconfiglib 14.1.0 BUG=b:181323955 BRANCH=none TEST=python3 util/test_kconfig_check.py Signed-off-by: Simon Glass <[email protected]> Change-Id: Iac24a90fe3707cacab40d45210addc663bb17f60 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3390708 Reviewed-by: Jack Rosenthal <[email protected]>
Rather unfortunately, it appears the original author of Kconfiglib disappeared. The Zephyr project has been granted ownership of the PyPI package via PEP-541 request, and I'm going to do a release based on a new repository in the ➡️ Action required: @sjg20 Are you able to re-open your pull request on the new repository? |
Here are a few useful features I needed with working with Zephyr OS.