summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-16Make 2.2.0 releasev2.2.0Ulf Magnusson
- 94c63de ("Support disabling warnings for redundant assignments") adds support for disabling warnings in the case where a symbol is assigned more than once within a .config file but always assigned the same value. Contributed by Sebastian Bøe. - Various other minor code nits.
2018-01-16_tokenize() non-constant symbol parsing style nitUlf Magnusson
Saves a tiny bit of bytecode too.
2018-01-16Kconfiglib is easier to modify tooUlf Magnusson
2018-01-16Fix lying implementation commentsUlf Magnusson
Implicit submenus are created after parsing, in _finalize_tree(), so the parent can never be a symbol in _parse_block().
2018-01-16Get TRI_TO_STR from Kconfiglib in test suiteUlf Magnusson
Old code.
2018-01-16Reset _tokens_i just once in _tokenize()Ulf Magnusson
It's set to -1 in every return path, so we can just do it at the beginning instead.
2018-01-16Update copyright year in licenseUlf Magnusson
2018-01-16Do not optimize promptless choice symbolsUlf Magnusson
Choice symbols without prompts are pointless and probably nonexistent in practice, so it's a bit silly to run the no-prompt optimization for them. Piggyback copyright year update.
2018-01-15Use a neater style when returning cached valuesUlf Magnusson
Saves a tiny bit of bytecode too.
2018-01-15Simplify non-bool/tristate return in tri_value()Ulf Magnusson
Already know the value.
2018-01-15Remove redundant backslashUlf Magnusson
2018-01-15Get rid of 'keyword' assignment in _tokenize()Ulf Magnusson
Also switch to a faster local lookup for the second _T_HELP. Micro-optimization -- shaves a % or two of the _tokenize() runtime. We expect a token for valid Kconfig files, so the naming is still fine.
2018-01-15Merge pull request #36 from SebastianBoe/support_disabling_redundant_warningsUlf Magnusson
Support disabling warnings for redundant assignments
2018-01-15Support disabling warnings for redundant assignmentsSebastian Bøe
The Linux Kernel's merge_config.sh defaults to disabling warnings for redundant assignments and has support for enabling them specifically. This patch reproduces this behaviour in kconfiglib except that we retaing kconfiglib's default behaviour of enabling the warnings. Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-01-12Add an extra test suite Makefile patch warningUlf Magnusson
2018-01-11Mention that $CONFIG_ is used for C headers tooUlf Magnusson
Piggyback some cleanup and redundant comment removal.
2018-01-08Mention Windows supportUlf Magnusson
2018-01-06Mention that C headers can be generated nowUlf Magnusson
2018-01-05Make 2.1.0 releasev2.1.0Ulf Magnusson
- 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).
2018-01-05Iterate over defined_syms in write_autoconf()Ulf Magnusson
Simpler. I realized there's actually no need to follow the node pointers, since menus and comments never generate output.
2018-01-05Formatting and comment nitsUlf Magnusson
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.