| Age | Commit message (Collapse) | Author |
|
|
|
|
|
- d2a2727 (Implement autoconf.h generation) adds support for generating
C headers in the same format as used for include/generated/autoconf.h
in the kernel, contributed by Carles Cufi from the Zephyr project.
- 5d693b2 (Don't write out 'option env' symbols to C header) makes
it so that attempts to manually set user values on 'option env'
symbols are rejected (though such symbols were never written out to
.config files).
|
|
Simpler.
I realized there's actually no need to follow the node pointers, since
menus and comments never generate output.
|
|
|
|
Oversight. SYMBOL_AUTO (env_var) being set indirectly clears
SYMBOL_WRITE (_write_to_conf) in sym_calc_value(). The .config case was
already fine due to an explicit env_var check.
Even non-visible env. symbols ended up in the header, due to
'option env' internally adding a default.
Disallow user values altogether on 'option env' symbols, even if
specified manually. This matches the C implementation. Add a warning
too.
|
|
Implement autoconf.h generation
|
|
Implement the generation of the C header file that mirrors the .config
files, commonly named autoconf.h.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
|
|
Functions similarly to scripts/kconfig/merge_config.sh from the kernel.
Came up in https://github.com/zephyrproject-rtos/zephyr/pull/5417.
|
|
Not passing -p1 causes the root Makefile to be patched instead of
scripts/kconfig/Makefile, as discovered in
https://github.com/ulfalizer/Kconfiglib/issues/32.
|
|
- Small parsing performance improvements:
80b9198 (Micro-optimize Symbol.__init__() a bit)
626b6ea (Check for type first when parsing properties)
d6aa5cf (Tokenize in _next_line())
- Minor documentation nits (typos, etc.)
|
|
|
|
Copy-paste error.
Piggyback error message consistency nit for help_grep.py.
|
|
|
|
s/_parsing_configs/_parsing_kconfigs/
|
|
|
|
- Remove redundant parentheses in indent_print().
- Use unnumbered replacement fields with format().
|
|
Already have the parent in 'parent'.
|
|
Leftovers
|
|
No need to use a dictionary.
|
|
Rephrase it a bit too.
|
|
Fetching the next line is always followed by tokenization in practice
(outside of help texts), so things can be simplified a bit. Return
True/False to indicate EOF instead of returning the line.
|
|
Most common case. Make it cheap by storing the list of type tokens
separately instead of building the tuple each time through.
Shaves a few % off the runtime for property parsing.
|
|
|
|
Chained assignments turn a bunch of LOAD_CONSTs into DUP_TOPs. Shaves
~10% off the runtime of _lookup_sym().
Do the same for Choice.__init__(), just for consistency. Remove an
accidental duplicated assigment to 'defaults' too.
|
|
Similar to _get_assignable(). Cleaner than setting the cached value at
every 'return'.
|
|
IANAL, but hopefully this should be enough. Don't bundle the license
file. Might be easier to work with if just kconfiglib.py is copied.
|
|
Some were for now-removed APIs, others tested things that are tested
differently now.
|
|
The previous version would accept stuff like
'option env defconfig_list', due to how the tests were laid out.
|
|
|
|
Just a few nits and a small optimization: d890343 (Micro-optimize
write_config() a bit). No bug fixes or functional changes.
|
|
The invalidation is necessary now that no global invalidation is done
before loading a .config.
|
|
Shaves a few % in line_profiler with no loss in readability.
Menus and comments are rare relatively speaking (~10% of all items
written out for alldefconfig), so optimize for the symbol case.
|
|
Bit less redundant.
|
|
Not needed anymore.
Just write the .config lines out directly. Saves creating the temporary
list. No detectable performance difference, positive or negative.
|
|
|
|
Avoiding global invalidation is much faster. There was just a lot of
redundant invalidation for promptless symbols going on when the comment
was first written.
|
|
Preferred method, should 'option modules' be properly supported later.
|
|
Clean up some formatting a bit too.
|
|
Can use the magic .type attribute to check for modules being disabled.
Also remove note about infinite recursion. Pretty sure anything that
would cause infinite recursion here would be a proper circular
dependency (like MODULES depending on m).
|
|
Pointless as an optimization here. Should restrict obfuscating
micro-optimization to the library code too even where it helps.
|
|
To get 3832555 (Reenable accidentally disabled no-prompt warning) in.
|
|
Warnings for assignments to promptless symbols should be enabled
directly after Kconfig parsing. Braino from inverting the meaning of the
flag earlier.
The flag got properly reset after loading a .config.
|
|
Versions of properties without parent dependencies propagated aren't
saved anymore (though it'd be easy to add back if needed).
|
|
|
|
|
|
Copy-paste error. iscriptconfig is only explained in the docstring.
|
|
|
|
Merge in the 'kconfiglib-2-backup' branch.
|
|
|