summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-06-11menuconfig: Support starting a search from the info dialogUlf Magnusson
It's annoying to have to leave the information dialog just to do a search related to something you saw in the information dialog. Stay in the information dialog if the search is canceled.
2018-06-11Mention KCONFIG_CONFIG in the all*config.py scriptsUlf Magnusson
This environment variable was inherited from the C tools. kconfiglib.standard_config_filename() looks at it.
2018-06-11README nitUlf Magnusson
2018-06-11README: Mention environment variable expansion in READMEUlf Magnusson
Also move the description of the Kconfig extensions out of 'Other features' and into a separate section under 'Library features'.
2018-06-07Add license tag to alldefconfig.pyUlf Magnusson
2018-06-06standard_config_filename() style nitUlf Magnusson
2018-06-06genconfig: Fix weird wording in descriptionUlf Magnusson
2018-06-06Make 6.0.1 releasev6.0.1Ulf Magnusson
Just to fix the rendering of the README on PyPI with commit b727f4d ("Fix link to allyesconfig.py in README").
2018-06-06Fix link to allyesconfig.py in READMEUlf Magnusson
No longer just an example either. This also makes the README render properly on PyPI.
2018-06-06README nitUlf Magnusson
2018-06-06Make 6.0.0 releasev6.0.0Ulf Magnusson
Changed behavior (giving the major version bump): - cbf32e2 ("Expand environment variables in strings directly") makes 'option env' "bounce" symbols redundant, though they are still supported for backwards compatibility (with the caveat that they must have the same name as the environment variables they reference to preserve behavior). A warning is printed if 'option env="FOO"' appears on a symbol that's not named FOO. This change will likely appear in the C tools soon as well. Other new features: - The menuconfig implementation is now bundled in the PyPI package, along with implementations of the Kconfig oldconfig and all{def,no,yes,mod}config tools. A genconfig script is provided for generating a C header from the configuration, as well as (optionally) the sync_deps() directory structure for implementing incremental builds. - 63a4418 ("Record which MenuNode has each property") makes it possible to generate documentation for symbols defined in multiple locations with each property shown on the right definition. See genrest.py in Zephyr. This change also cleans up the parsing code a bit. Dependency propagation is now done after parsing, in _finalize_tree(). - 94020be ("Make Kconfig._choices public") and fc73c46 ("Provide lists with all menus and comments") gives easier access to Kconfig items of a specific type, without having to walk the menu tree. This turns out to be handy e.g. when generating documentation and implementing search. Improvements and new warnings: - da40c01 ("Force encoding to UTF-8 by default on Python 3") - 7427079 ("Get rid of the predefined UNAME_RELEASE symbol") - f64591c ("Warn if prompt contains leading or trailing whitespace") - c14e411 ("Warn if quotes are omitted around string defaults") Misc. minor refactoring and cleanup has been done as well.
2018-06-06Add license tags to scriptsUlf Magnusson
Everything's ISC.
2018-06-05Fix formatting for script linksUlf Magnusson
2018-06-05Fix links to all{no,yes,mod}config scriptsUlf Magnusson
2018-06-05README nitsUlf Magnusson
2018-06-05Clean up and update README, cover bundled toolsUlf Magnusson
Explain the soon-to-be-bundled tools. Also rearrange and clean up some sections.
2018-06-05Turn syncconfig.py into genconfig.py and generate headerUlf Magnusson
There should be a script available that generates the output header for the build. It usually makes sense to generate both the header and any incremental build information at the same time (automatically during build), so roll them both into the same script.
2018-06-04Package the *config scriptsUlf Magnusson
These currently include menuconfig, oldconfig, syncconfig, alldefconfig, and all{no,mod,yes}config, which probably cover what 90% of people will need to use. More scripts could be added later. Use the entry_points mechanism (http://setuptools.readthedocs.io/en/latest/setuptools.html#automatic-script-creation), which gives something that works out-of-the-box on Windows. It also removes the .py suffix for the installed scripts.
2018-06-04Add syncconfig.py, used for incremental buildsUlf Magnusson
This script calls through to Kconfiglib.sync_deps() and can be used to implement incremental builds. Having additional dependency mechanisms for changes to Kconfig files and environment variables is redundant, because those changes indirectly influence symbol values and will be caught as well.
2018-05-31menuconfig: Fix outdated commentUlf Magnusson
cached_search_strings was renamed to cached_search_nodes.
2018-05-31Reorder compatibility testsUlf Magnusson
The defconfig tests tend to find any issue quickly, so keep those first. Go alldefconfig -> allnoconfig -> allmodconfig -> allyesconfig after that, and do the sanity checks at the end.
2018-05-31Simplify allyesconfigUlf Magnusson
Setting all tristate choice symbols to 'm' is enough to always do the right thing in practice. It has no effect for bool choice symbols (since 'm' will be ignored), but forces symbols in m-mode choices to 'm'. 'm' will also be ignored for tristate choice symbols in choices in 'y' mode, because tristate is automagically converted to bool there.
2018-05-30Add an allmodconfig implementationUlf Magnusson
Verified to produce identical output to 'make allmodconfig', for all arches. Will be packaged.
2018-05-30Update source links in READMEUlf Magnusson
To-be-packaged scripts now live in the root.
2018-05-30Add an alldefconfig.py scriptUlf Magnusson
Will be packaged. Piggyback test suite cleanups to make test names match the name of the script being tested.
2018-05-30Remove unused all{no,yes}config importsUlf Magnusson
No longer used after the tool helpers were added.
2018-05-30Add tool helper for loading/saving .config filesUlf Magnusson
Removes repeated KCONFIG_CONFIG boilerplate. Also make allyesconfig use KCONFIG_CONFIG when writing (oversight), and document the sys.exit() behavior for standard_kconfig().
2018-05-30Add tool helper for selecting the top-level KconfigUlf Magnusson
standard_kconfig() gets the top-level Kconfig file from the first command-line argument, defaulting to "Kconfig". This removes some boilerplate from tools.
2018-05-30allyesconfig: Prepare for packagingUlf Magnusson
Move to the root, simplify a bit, provide an entry point function (for setuptools's entry_points).
2018-05-28Simplify allyesconfig.py example with Kconfig.choicesUlf Magnusson
Could do something similar to allnoconfig.py for the packaged version.
2018-05-27Provide lists with all menus and commentsUlf Magnusson
Handy e.g. when implementing advanced search features.
2018-05-27Make Kconfig._choices publicUlf Magnusson
Useful in various places outside the library, e.g. in the upcoming packaged allyesconfig implementation, and when generating documentation.
2018-05-27Actually commit new allnoconfig.pyUlf Magnusson
Oops.
2018-05-27allnoconfig: Move from examples/ to rootUlf Magnusson
Put to-be-packaged stuff in the root. Use allnoconfig_simpler.py, and rename allnoconfig.py to allnoconfig_walk.py and keep it as an example.
2018-05-27oldconfig: Move from examples/ to rootUlf Magnusson
All the packaged code will appear in the root.
2018-05-27oldconfig: Prepare for packagingUlf Magnusson
setuptools' 'entry_points' gives nice behavior on Windows. It requires that the module has an entry point function. Create one and move the command line argument handling to it. Piggyback KCONFIG_CONFIG support, and make the script executable (oversight).
2018-05-27menuconfig: Always prompt for save when output file is missingUlf Magnusson
An output file should still be generated if you're happy with the default settings.
2018-05-27oldconfig: Show help with '?' instead of '??'Ulf Magnusson
This matches the C tools. Hadn't noticed they had the same feature.
2018-05-27Simplify error exitsUlf Magnusson
Had missed sys.exit(msg).
2018-05-27Get rid of the predefined UNAME_RELEASE symbolUlf Magnusson
Commit cbf32e2 ("Expand environment variables in strings directly") added direct expansion of environment variables is strings, with commit b9384a1 ("Restore compatibility with $UNAME_RELEASE") adding a hack to restore compatibility with the predefined $UNAME_RELEASE symbol, used by DEFCONFIG_LIST in the Linux kernel. With the compatibility hack in place, there's no longer any need to define UNAME_RELEASE as a proper symbol. Remove it.
2018-05-27menuconfig: Prepare for packagingUlf Magnusson
setuptools' 'entry_points' gives nice behavior on Windows. It requires that the module has an entry point function. Create one and move the command line argument handling to it.
2018-05-27Simplify unquoted string default checkUlf Magnusson
D'oh
2018-05-26Micro-optimize _parse_help() loopUlf Magnusson
Shaves ~6% off the _parse_help() runtime for the x86 Kconfigs in cProfile.
2018-05-25Style nitUlf Magnusson
2018-05-25Warn if quotes are omitted around string defaultsUlf Magnusson
This takes some heuristics, as it's indistinguishable from a reference to an undefined symbol. Guess that the quotes are missing if the 'default' value isn't all-uppercase.
2018-05-23Update genrest.py link to new locationUlf Magnusson
2018-05-22menuconfig: Move symbol name from title into info textUlf Magnusson
It's easy to miss at the top, especially as it's centered. Have a generic 'Symbol information', 'Choice information', etc., title instead.
2018-05-22menuconfig: Rearrange symbol name printing conditionUlf Magnusson
The name is always shown for items without prompts (which are always promptless symbols). Only show-name mode needs the symbol/choice check.
2018-05-22menuconfig: Add mode for showing all symbol namesUlf Magnusson
Pressing 'c' toggles show-name mode, where names of symbols are displayed before their prompt.
2018-05-21Fix link to genrest.pyUlf Magnusson