| Age | Commit message (Collapse) | Author |
|
This is a simple script for updating configuration values from the
command line, with (optional) checking that the assigned value matches
the actual symbol value afterwards (which it might not if there are
unsatisfied dependencies).
Sample usage:
$ setconfig FOO_SUPPORT=y BAR_BITS=8
This is useful for patching the configuration in automated build
systems, in a way that's safer than directly patching configuration
files.
|
|
Forgot when pushing out the release.
|
|
- Commit 3a3559f ("menuconfig: Prompt for save if a different .config
would be saved") improves the behavior of menuconfig.py when Kconfig
files are modified between sessions, fixing issue #63.
Modifying Kconfig files in a way that would affect the written
.config now always makes the menuconfig prompts for saving the
configuration on exit.
A new Kconfig.missing_syms attribute is added as well, which was
needed to implement the improved behavior with public APIs.
- Commit b64c961 ("Warn for '# CONFIG_FOO is not set' when FOO is
referenced but undefined") fixes a small oversight re. the
assignment-to-undefined-symbol warning.
|
|
Adds commit dcb6f12 ("menuconfig: Add show-help mode"), which adds a new
mode to the menuconfig that replaces the key listing at the bottom with
the help text of the selected item.
|
|
Pressing F toggles show-help mode, where the help window at the bottom
displays the help text of the currently selected item, if any. Can be
handy when browsing through symbols.
Also mention the different modes that are available in the module
docstring.
|
|
Adds an error reporting improvement and an example code fix:
- Commit 0266924 ("Improve error for missing endchoice/endif/endmenu")
- Commit a88302b ("Fix user-defined preprocessor function example
code")
Some minor performance improvements are included as well.
|
|
Adds commit be3c682 ("Clarify that load_config()'s filename argument
defaults to None"), which fixes a small documentation bug.
|
|
Adds commit e8f9751 ("genconfig: Do not generate *.old files for
--config-out"), which gets rid some probably redundant .config.old
files.
|
|
- Commit 3cc2f9f ("listnewconfig: Add script") adds
'make listnewconfig' functionality. The new script is bundled in the
pip install.
- Commit 78073d6 ("Preserve symlinks when writing .config.old files")
avoids stomping on symlinks when writing configuration files.
|
|
Mirrors 'make listnewconfig' in the C tools.
|
|
Adds two improvements related to configuration files:
- Commit 166be7d ("Save existing configuration to .<filename>.old in
write_config()")
- Commit 7b4f72f ("Make {load,write}_config(filename=None) implement
the standard behavior")
|
|
Make the previously obligatory 'filename' argument to load_config() and
write_config() default to None, and have that implement the behavior
you'd usually want: read/write either KCONFIG_CONFIG or ".config" if
unset, and read the 'option defconfig_list' configuration file if
KCONFIG_CONFIG/".config" doesn't exist.
For load_config(), filename=None also allows the configuration file to
be missing without raising an error. load_config() returns True if a
local configuration file was loaded, which is useful to check in the
menuconfig (if no local configuration file exists, we always want to
prompt for saving the configuration when exiting).
Also add a 'verbose' argument (default True) to load_config() and
read_config() that makes them print which files were read/written in
filename=None mode.
Also generalize olddefconfig.py and oldconfig.py to not require there to
already be a local configuration file. This was a bit silly for
olddefconfig.py in particular.
Remove the examples/defconfig.py script. It's a duplicate of
olddefconfig.py.
|
|
Adds a small incremental building improvement: commit a4751b5 ("Flag
removed symbols as changed in sync_deps()")
|
|
Adds commit 567cccf ("Tighten up help text parsing"), which improves
parsing performance slightly.
|
|
Adds commit b3f0061 ("menuconfig: Only list duplicated choice symbols
once"), which improves the behavior of the menuconfig interface for an
obscure situation involving named choices included multiple times.
|
|
Adds some small performance optimizations:
- Commit 120f551 ("Speed up more token membership tests")
- Commit bb7044c ("Reorder some tuples to put y first")
|
|
Python 3.7 has finally caught up with Python 2.7 performance-wise.
|
|
Adds commit 67ce4eb ("Use constants when _tokens_i is known"), which
adds more optimizations made possible by switching to more manual token
handling.
|
|
Adds a small missed optimization opportunity, in commit 74ce9d3
("Optimize fetching of initial token on line").
|
|
Tightens up syntax checking and improves a warning:
- Commit 13a7bae ("Flag extra trailing tokens in all contexts") adds
checking for extra trailing tokens in a few overlooked cases.
- Commit f356ba8 ("Clarify that select/imply is a no-op for choice
symbols") clarifies the warning when selecting/implying a choice
symbol.
Parsing performance was improved slightly as well.
|
|
- Commit ee25489 ("menuconfig: Print '----' instead of '---> (empty)'")
makes the menuconfig display empty menus (e.g. from disabled
'menuconfig' symbols) in a less spammy way, matching the C tools.
- Commit 6313925 ("Remove message re. Kconfiglib 10 backwards compat.
break") removes an old message printed when the top-level Kconfig
file can't be opened and $srctree is set. Hopefully it's been noticed
by now.
- Commit a1a4430 ("Use 'foo.__class__ is Bar' instead of
'isinstance(foo, Bar)'") improves parsing and evaluation performance a
bit.
|
|
Adds commit df61771 ("menuconfig: Never snap scroll back to
max_scroll"), which fixes a small menuconfig UI nit.
Add 'configuration-management' as a tag to setup.py as well.
|
|
|
|
Adds commit b65baa4 ("Add support for KCONFIG_ALLCONFIG"), which allows
particular symbol values to be forced during all{def,no,mod,yes}config.
|
|
Adds two small library/menuconfig improvements:
- Commit 7992519 ("Always strip trailing whitespace in 'MenuNode.help'
and __str__()") tightens up the format of strings a bit, and
documents it.
- Commit b810bda ("menuconfig: Support HOME and END in the jump-to
dialog") adds support for some keys that were missing from the
jump-to dialog.
|
|
Adds a small menuconfig improvement: Commit 35af004 ("menuconfig: Move
cursor to choice selection when entering choices").
|
|
Adds fixes for two obscure crashes, related to consecutive empty if's
and toggling symbols without a type in the menuconfig:
- Commit 0e6cd82 ("Fix removal of multiple consecutive 'if' nodes")
- Commit db60270 ("menuconfig: Fix crash when toggling symbols without
a type")
|
|
Adds commit 8be38f2 ("Don't show backtraces for expected exceptions in
tools"), which hides backtraces for expected errors from tools (like
Kconfig syntax errors and missing files).
|
|
Commit 14603c0 ("Make errno/strerror/filename available on IOError")
makes IOError/OSError.errno/strerror/filename available to scripts, when
it is raised from e.g. Kconfig.load_config().
Previously, some implementation trickery related to custom exception
messages meant that they weren't available.
|
|
Adds commit 699fd81 ("Support enabling the assignment-to-undef. symbol
warning via the environment"). This makes it possible to enable the
warning for assigning an undefined symbol within a .config file, while
using the bundled tools.
Previously, enabling the warning required modifying the tools to call
Kconfig.enable_undef_warnings().
|
|
This makes it possible to enable it for the bundled tools, by setting
KCONFIG_WARN_UNDEF_ASSIGN=y. Previously, the code had to be modified to
call Kconfig.enable_undef_warnings().
Also rename KCONFIG_STRICT to KCONFIG_WARN_UNDEF, for consistency. Keep
supporting KCONFIG_STRICT as an alias for backwards compatibility.
|
|
- Commit 85ba6b2 ("menuconfig: Mention jump-to in info dialog help")
makes it a bit easier to discover that jump-to can be entered from
the info dialog.
- Commit d920dbe ("Use standard_sc_expr_str() in _name_and_loc()")
makes named choices show up as '<choice NAME>' in warnings, instead
of just as 'NAME'.
Some small parsing optimizations are included as well.
|
|
- Commit 9a4127a ("Allow programmatically expanding preprocessor
functions with args") adds a Variable.expanded_value_w_args()
function for calling preprocessor functions programmatically.
Not being able to pass arguments to Variable.expanded_value was an
oversight.
- Commit 516deb4 ("menuconfig: Show the selected symbol for promptless
choices") makes menuconfig show the selected symbol next to
promptless choices in show-all mode. This is relevant for named
choices defined in multiple locations.
Some minor parsing optimizations are included as well.
|
|
Adds commit 98af94d ("Make Kconfig.choices match its description").
Previously, Kconfig.choices was accidentally identical to
Kconfig.unique_choices. It's now crappy as advertised, and keeps
duplicates.
Removing duplicates (while preserving order) was the original reason for
adding Kconfig.unique_defined_syms and Kconfig.unique_choices. It'd be
rare to need Kconfig.choices.
|
|
Adds two small menuconfig improvements/fixes:
- Commit 9a7b374 ("menuconfig: Fix some minor resizing jumpiness on
gnome-terminal")
- Commit 3d0dc9f ("menuconfig: Switch back to "very visible" cursor
after Ctrl-F")
|
|
|
|
Adds commit 63bbecb ("menuconfig: Fix crash when pressing Ctrl-F with no
matches in jump-to dialog").
Ctrl-F is the view-help shortcut in the jump-to dialog.
|
|
Adds two menuconfig improvements and a documentation improvement:
- Commit 96682d7 ("menuconfig: Add jump-to for choices, menus, and
comments") generalizes the jump-to feature so that choices, menus,
and comments can be jumped to in addition to symbols (or into, in the
case of choices and menus).
- Commit fae2e70 ("menuconfig: Do not show range hint for symbols
without ranges") despams the menuconfig interface and could
potentially avoid some confusion.
- Commit bde4cc7 ("Add some hints re. generating custom configuration
output") adds some documentation hints re. using the
Symbol.config_string field when generating custom output. It can be
useful for pruning symbols even when the output format isn't
.config-like.
|
|
It's not obvious that Symbol.config_string can be useful even when
generating other output formats, as it provides a hook for
_write_to_conf. Mention it in the 'config_string' documentation and in
relevant parts of the README.
|
|
Adds commit a247f3f ("menuconfig: Improve/fix promptless choice
handling"), which fixes an obscure menuconfig crash involving symbols in
promptless choices, and improves how choices are displayed in
show-all/show-name mode a bit ('<choice (name, if any)>' instead of
either nothing or '<name>').
|
|
Adds commit f1e4d04 ("menuconfig: Remove "Value for " prefix from input
dialog titles"), which de-spams the menuconfig interface a bit.
Some documentation fixes and improvements are included as well:
- Commit 631c51f ("Point to IS_ENABLED() is README")
- Commit f594975 ("Add hints on incremental building to 'getting
started'")
- Commit d044ee9 ("Clarify --config-out description a bit")
- Commit 358b77a ("Hint that load_config() with replace=False is for
merging")
- Commit 5d15df9 ("Update genconfig usage description")
The naming in some internal evaluation functions was cleaned up too.
|
|
|
|
|
|
Might be tricky to discover.
|
|
The link accidentally went to kconfig-macro-language.txt.
|
|
|
|
Remove some parentheses.
|
|
Adds commit 4602028 ("genconfig: Allow writing a full .config without
incremental build info"), which adds a flag to genconfig that might be
handy in projects that include .config files in Makefiles but that don't
use incremental build information.
|
|
For projects that don't use incremental build information, it's a bit
wasteful to generate it just to get an updated .config file to include
in Makefiles. Add a '--config-out <filename>' option that just writes
the updated .config file, for those cases.
Also remove a redundant default=None argument for --sync-deps. None is
the default value.
|
|
|