summaryrefslogtreecommitdiff
path: root/kconfiglib.py
AgeCommit message (Collapse)Author
2015-06-05_parse_block() style nit, take two.Ulf Magnusson
The menu must be added to self.menus before parsing its contents, so that it comes before any contained menus. Make the comment and menu cases consistent by rearranging the comment case instead.
2015-06-05Revert "_parse_block() style nit."Ulf Magnusson
Ops... this breaks menu ordering.
2015-06-05_parse_block() style nit.Ulf Magnusson
2015-06-05_internal_error() nit.Ulf Magnusson
2015-06-05Format some stuff consistently.Ulf Magnusson
2015-06-05Use the 'get' method of 'keyword' directly.Ulf Magnusson
Small tokenizer optimization, similar to the regex optimizations.
2015-06-05Improve tokenization performance by removing a single character.Ulf Magnusson
strip() instead of lstrip() makes the loop terminate earlier, saving lots of calls. Shaves a few % of parsing the x86 Kconfigs.
2015-06-05Restructure and simplify parts of the tokenizer.Ulf Magnusson
Pre-bump 'i' and let it be the index of the "next" character instead.
2015-06-05Fix hang when tokenizing some invalid expressions.Ulf Magnusson
c.eval("&") would cause a hang before for example.
2015-06-04Clean up parse error handling.Ulf Magnusson
strip() the faulty line (seeing that whitespace probably isn't helpful), remove an assert that probably isn't useful in practice, and simplify the code.
2015-06-04Clean up tokenization error handling.Ulf Magnusson
- The caret was always set to the end of the string in the current version, which is pointless. - Part of the error string was output manually, and part of it was part of the exception message. Ugly oversight.
2015-06-04Documentation nit.Ulf Magnusson
2015-06-04Refactor and optimize _indentation().Ulf Magnusson
I must have missed that expandtabs() already takes the context of tabs into account the first time around. Also remove error check that probably won't be useful.
2015-06-04Refactor and optimize _strip_quotes().Ulf Magnusson
Use the fact that startswith() can check multiple prefixes.
2015-06-04Replace _strip_trailing_slash() with rstrip().Ulf Magnusson
Will also strip many '/'s, which makes sense here.
2015-06-04Refactor _get_lines().Ulf Magnusson
Also improves performance. A yield-based implementation would be interesting to experiment with, to see if I/O + computation interleaving helps here.
2015-06-04Note that _FileFeed joins lines ending in \.Ulf Magnusson
2015-06-04Let _FileFeed fetch the lines from the file.Ulf Magnusson
This is how it's always used in practice.
2015-06-04Order _parse_block() cases by frequency.Ulf Magnusson
Probably not a noticeable win here, but might as well. The new ordering isn't any worse than the old one in other respects. Also remove a pointless assert. The condition would trigger an obvious error immediately when false anyway.
2015-06-04Order _parse_properties() cases by frequency.Ulf Magnusson
Shaves a few % off parsing the x86 Kconfigs.
2015-06-04Check for AND before OR in _eval_expr_2().Ulf Magnusson
Much more common, so make it the fast case.
2015-06-04Small regex-related optimization.Ulf Magnusson
Prefetch the SRE_Pattern.match() methods. Shaves a few % off Config._tokenize(). Do the same elsewhere for consistency, though I'm not sure if it's a meaningful win.
2015-06-04Warning formatting nit.Ulf Magnusson
2015-06-04Consistently use new-style classes.Ulf Magnusson
Ugly oversight. Gives a nice ~13% parsing performance increase with both CPython and PyPy on my system.
2015-06-02Remove Psyco support.Ulf Magnusson
Psyco is dead, and there's PyPy now.
2015-06-02Obfuscate email inside kconfiglib.py.Ulf Magnusson
2015-06-01Use ulfalizer@gmail.com for feedback.Ulf Magnusson
Harder to miss stuff that way.
2015-05-31Do a small documentation cleanup pass.Ulf Magnusson
- Clean up introduction a bit. - Explain that "# CONFIG_FOO is not set" is treated specially. - Remove some silly "otherwise False" comments where it's obvious. - Reformulate a few things slightly.
2015-05-29Fix typo in warning.Ulf Magnusson
2015-05-29Only warn for 'option modules' on non-MODULES symbols.Ulf Magnusson
2015-05-25Allow digits in $-references to symbols.Ulf Magnusson
Omission which didn't matter for the Linux kernel. sym_expand_string_value() in scripts/kconfig/symbol.c is the relevant part of the C implementation. Seems the Buildroot guys ran into it.
2015-05-25Fix typo in docs.Ulf Magnusson
2015-05-24Add warning related to get_defconfig_filename().Ulf Magnusson
Might not match 'make defconfig' if the --defconfig override is used. Should probably be improved.
2015-03-13Hint that modules are still supported despite warnings.Ulf Magnusson
2015-03-12Add Symbol.is_allnoconfig_y()Philip Craig
2015-03-12Statements in choices inherit menu/if depsPhilip Craig
This fixes the deps for the comment in drivers/usb/dwc2/Kconfig.
2015-02-16Warn about and ignore the "allnoconfig_y" Kconfig optionJakub Sitnicki
A new option has appeared in Linux 3.15-rc1. Ignore it for now.
2013-08-07Add Symbol and Choice interfaces for getting prompt strings.Ulf Magnusson
2012-12-19Use regexes instead of frozensets to lex ids/keywords.Ulf Magnusson
Faster and a bit more readable.
2012-12-18Flesh out Symbol docstring.Ulf Magnusson
2012-12-18Flesh out Config docstring.Ulf Magnusson
2012-12-18Remove redundant invalidation from load_config().Ulf Magnusson
unset_user_values() will indirectly invalidate everything, so we don't need to do it ourselves.
2012-12-18Properly unescape .config string assignments.Ulf Magnusson
2012-12-18Simplify load_config() a bit.Ulf Magnusson
2012-12-18Escape \ and " when writing .config entries for strings.Ulf Magnusson
2012-12-17Tighten up string literal parsing a bit more.Ulf Magnusson
2012-12-17Fix comment re. fast path.Ulf Magnusson
2012-12-17Small simplification.Ulf Magnusson
2012-12-17Add a fast path for string literal lexing.Ulf Magnusson
Speeds up _tokenize() by ~20%.
2012-12-16Use 'while 1' instead of 'while True'.Ulf Magnusson
Bit faster (http://wiki.python.org/moin/PythonSpeed).