summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-05Don't write out 'option env' symbols to C headerUlf Magnusson
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.
2018-01-05Merge pull request #35 from carlescufi/autoconfUlf Magnusson
Implement autoconf.h generation
2018-01-05Implement autoconf.h generationCarles Cufi
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>
2017-12-30Add merge_config.py exampleUlf Magnusson
Functions similarly to scripts/kconfig/merge_config.sh from the kernel. Came up in https://github.com/zephyrproject-rtos/zephyr/pull/5417.
2017-12-15Make it clear that makefile.patch needs -p1Ulf Magnusson
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.
2017-11-30Make 2.0.3 releasev2.0.3Ulf Magnusson
- 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.)
2017-11-30Mention multiprocessing in READMEUlf Magnusson
2017-11-27eval_expr.py: Fix missing argument error messageUlf Magnusson
Copy-paste error. Piggyback error message consistency nit for help_grep.py.
2017-11-27Fix typo in comment: s/T_IF/_T_IF/Ulf Magnusson
2017-11-26Fix _lookup_sym() docstring typoUlf Magnusson
s/_parsing_configs/_parsing_kconfigs/
2017-11-26menuconfig.py: indent_print() style nitUlf Magnusson
2017-11-26print_tree.py: Style nitsUlf Magnusson
- Remove redundant parentheses in indent_print(). - Use unnumbered replacement fields with format().
2017-11-24Simplify _T_IF choice checkUlf Magnusson
Already have the parent in 'parent'.
2017-11-20allno/yesconfig.py: Remove unused STR_TO_TRI importsUlf Magnusson
Leftovers
2017-11-20Simplify menuconfig.py's value_str() a bitUlf Magnusson
No need to use a dictionary.
2017-11-18Fix typo in commentUlf Magnusson
Rephrase it a bit too.
2017-11-18Tokenize in _next_line()Ulf Magnusson
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.
2017-11-17Check for type first when parsing propertiesUlf Magnusson
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.
2017-11-17Simplify _parse_properties() loopUlf Magnusson
2017-11-13Micro-optimize Symbol.__init__() a bitUlf Magnusson
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.
2017-11-13Add a Choice._get_selection() helperUlf Magnusson
Similar to _get_assignable(). Cleaner than setting the cached value at every 'return'.
2017-11-12Simplify licensingUlf Magnusson
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.
2017-11-12Remove unused test filesUlf Magnusson
Some were for now-removed APIs, others tested things that are tested differently now.
2017-11-12Make 'option env' parsing sanerUlf Magnusson
The previous version would accept stuff like 'option env defconfig_list', due to how the tests were laid out.
2017-11-11Remove more accidental RST formatting in docstringUlf Magnusson
2017-11-11Make 2.0.2 releasev2.0.2Ulf Magnusson
Just a few nits and a small optimization: d890343 (Micro-optimize write_config() a bit). No bug fixes or functional changes.
2017-11-11Remove outdated choice invalidation commentUlf Magnusson
The invalidation is necessary now that no global invalidation is done before loading a .config.
2017-11-11Micro-optimize write_config() a bitUlf Magnusson
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.
2017-11-11Rename _already_written to _writtenUlf Magnusson
Bit less redundant.
2017-11-11Get rid of _get_config_strings()Ulf Magnusson
Not needed anymore. Just write the .config lines out directly. Saves creating the temporary list. No detectable performance difference, positive or negative.
2017-11-10Remove accidental RST formatting in docstringUlf Magnusson
2017-11-10Fix misleading invalidation commentUlf Magnusson
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.
2017-11-10eval_expr.py: s/syms["MODULES"]/modules/Ulf Magnusson
Preferred method, should 'option modules' be properly supported later.
2017-11-10Fix a few typosUlf Magnusson
Clean up some formatting a bit too.
2017-11-10Simplify m->y visibility promotionUlf Magnusson
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).
2017-11-09allnoconfig.py: s/while 1/while True/Ulf Magnusson
Pointless as an optimization here. Should restrict obfuscating micro-optimization to the library code too even where it helps.
2017-11-09Make 2.0.1 releasev2.0.1Ulf Magnusson
To get 3832555 (Reenable accidentally disabled no-prompt warning) in.
2017-11-09Reenable accidentally disabled no-prompt warningUlf Magnusson
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.
2017-11-09Remove left-over misleading property commentUlf Magnusson
Versions of properties without parent dependencies propagated aren't saved anymore (though it'd be easy to add back if needed).
2017-11-09s/subdirectory/directory/Ulf Magnusson
2017-11-09Linkify examples/ directory in READMEUlf Magnusson
2017-11-09Remove iscriptconfig "see below" in READMEUlf Magnusson
Copy-paste error. iscriptconfig is only explained in the docstring.
2017-11-09Make 2.0.0 releasev2.0.0Ulf Magnusson
2017-11-09Make Kconfiglib 2 officialUlf Magnusson
Merge in the 'kconfiglib-2-backup' branch.
2017-11-08Mention that the Item base class is goneUlf Magnusson
2017-11-08Spacing nitUlf Magnusson
2017-11-08Add a release test scriptUlf Magnusson
Confirms that all the examples that aren't tested in the test suite at least run. Easy to miss brokenness there. Output can be inspected manually (it'll vary depending on the kernel version). Fix defconfig_oldconfig.py, which hadn't been properly updated for the new API.
2017-11-08Clarify that load_config() still just worksUlf Magnusson
2017-11-08Explain changes from Kconfiglib 1 to Kconfiglib 2Ulf Magnusson
I wonder if there's a nicer way to get an italic link with RST...
2017-11-07Test for m, y assignability in a more readable wayUlf Magnusson