-
Notifications
You must be signed in to change notification settings - Fork 165
Features #112
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
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 <sjg@chromium.org>
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 <sjg@chromium.org>
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 <sjg@chromium.org> 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 <sjg@chromium.org> Change-Id: Iac24a90fe3707cacab40d45210addc663bb17f60 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3390708 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
|
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.