| Age | Commit message (Collapse) | Author |
|
This allows some symbol values to be forced while running
all{def,no,yes,mod}config.py. See Documentation/kbuild/kconfig.txt in
the Linux kernel.
Add a helper function load_allconfig() to Kconfiglib to avoid code
duplication in the tools.
Also add functions for enabling/disabling the warning that's generated
when a symbol is assigned multiple times in a (set of) .config files and
the values differ. It should be disabled when merging the
KCONFIG_ALLCONFIG configuration file. Previously, only the warning
generated when the assigned values are identical could be disabled.
Disable all warnings related to assigning a symbol multiple times in
examples/merge_config.py as well.
|
|
These are the same as Kconfig.defined_syms and Kconfig.choices, except
duplicates are removed. Kconfig order is still preserved.
This is almost always what you want when iterating through symbols and
choices, as it potentially saves work, avoids generating duplicates when
writing output, and still preserves Kconfig order for readability.
The old attributes will be kept for backwards compatibility (maybe
there's some rare cases where they could be useful too). They're created
internally anyway.
|
|
U-Boot has a ton of definition locations for some symbols, causing a lot
of redundant work when iterating over Kconfig.defined_syms in
_build_dep(). Iterate over set(Kconfig.defined_syms) instead, wherever
possible.
This speeds up the U-Boot parsing time from 4 seconds to 0.6 seconds on
my machine.
Also update the bundled tools to iterate over set(Kconfig.defined_syms).
The performance loss is negligible even for projects that don't use
multiple definition locations.
Update the documentation to clarify that symbols/choices defined in
multiple locations appear multiple times in Kconfig.defined_syms/choices
as well.
|
|
We can rely on set_value() being a no-op when setting non-bool/tristate
symbols to 0/1/2 (due to those values being invalid for other types).
Remove some long duplicated comments too.
|
|
This environment variable was inherited from the C tools.
kconfiglib.standard_config_filename() looks at it.
|
|
Everything's ISC.
|
|
Verified to produce identical output to 'make allmodconfig', for all
arches.
Will be packaged.
|