| Age | Commit message (Collapse) | Author |
|
New features:
- 105c835 ("Add helper for splitting expressions")
- 509e374 ("Add Choice.direct_dep field")
A terminal menuconfig implementation has been added which relies on
these features.
Other improvements:
- c1c5ef2 ("Print a warning for malformed .config lines")
- 09b8c58 ("Give filename and context for UnicodeDecodeError")
|
|
New features and improvements:
- 7245bad ("Parenthesize && expressions within || expressions")
makes expressions more readable.
- 2259d35 ("Generalize is_menuconfig to non-symbol items")
can simplify menuconfig implementations.
- c7ac6f8 ("Add parent deps to the right in _T_IF") makes parent
dependencies consistently appear on the right in expressions, with
the outermost parent dependency the furthest to the right.
New warnings:
- 7ba79ca ("Warn if user (.config) value is outside of 'range'")
- 225ec4b ("Warn if a choice symbol is selected or implied")
Some obscure false positive warnings for named choices were fixed too.
This came up in
https://github.com/zephyrproject-rtos/zephyr/issues/6948.
- e8408a0 ("Move sanity checking to after _finalize_tree()")
|
|
Only adds daac69d ("Add a globbing source statement").
'gource' doubles as an include-if-exists function.
|
|
Includes a small API behavior change, hence the major version bump:
- db63301 ("Return "" for unwritten symbols in Symbol.config_string")
New features:
- Support for incremental builds using the same scheme as the
include/config/ directory in the C tools. See the new
Kconfig.sync_deps() function and commit 378dedc ("Add support for
incremental builds").
- Minimal configuration (defconfig) writing, generating identical files
to the C implementation. See commit 652f11b ("Add minimal
configuration file generation support").
The C 'make savedefconfig' implementation is currently broken in
obscure cases involving tristate choices (due to broken invalidation
code), so the tests are disabled for now. I have a patch for the C
implementation that I will submit.
Fixes:
- user_value wasn't set for choice symbols set to y via load_config()
with replace=True. Fixed by commit 0bd841d ("Properly remember y user
values for choice symbols"). Didn't affect correctness, only the API.
Other changes:
- 778ec47 ("Only write '# CONFIG_FOO is not set' for visible symbols")
mirrors a change I made to the C tools.
- bbe3ae9 ("Do not write the defconfig_list symbol to .config") mirrors
another change made to the C tools.
- Misc. refactoring and cleanup.
|
|
Adds a Kconfig extension contributed by RomaVis: aea0232 ("Implement
'rsource' statement ('source' with relative path)").
|
|
Only includes 2a88c0c ("Include direct deps. in
Symbol/Choice.__str__()").
|
|
- Only includes e8b4ecb ("Don't special-case user_value for choice
symbols set to y").
Since that's a tiny change to the behavior of the API, the major version
is bumped.
|
|
Just adds f66cd71 ("Allow "n"/"m"/"y" as aliases for 0/1/2 in
set_value()").
|
|
This release tightens up syntax checking and adds all the warnings
generated by the C implementation (plus a few extra ones), making
Kconfiglib more viable as a replacement for the C tools, rather than
just being an auxiliary library.
Syntax checking changes:
- a84848b ("Tighten up syntax checking")
- 8716316 ("Generate a parse error for extra tokens at EOL")
- 416083a ("Flag constant symbols where they're not allowed")
Warning changes:
- 9c309400 ("Add some post-parsing warnings")
- da0bfa3a ("Error out for malformed hex/int/string defaults")
- 5d2041a9 ("Add more choice type and prompt sanity checks")
- 67f825fc ("Warn if there's more than one help text")
- 990c780f ("Add some warnings related to selects and implies")
- 7432ade8 ("Warn if a symbol is defined with multiple types")
- 5eeea863 ("Improve int/hex sanity checking")
- ad94bb45 ("Sanity-check range values")
- e930c140 ("Warn if a symbol/choice has multiple prompts")
- 60d12911 ("Warn if help text is empty")
- d43d2e83 ("Warn if menuconfig statement has no prompt")
- 3db12f72 ("Warn if a choice symbol has defaults")
- 0eadd61c ("Warn if choice symbol has prompt outside choice")
Also includes various code nits.
|
|
Shows up as a nice sidebar on PyPI.
|
|
Can test the python_requires now too.
|
|
- 955ea4 ("Support <, > relational operators with tristates") adds a
small recent feature from upstream. Haven't even seen any relational
operators besides = and != being used yet I think.
- 8d7235 ("Tighten up regexes") cleans up and optimizes the regexes
used during parsing and .config reading a bit.
|
|
Just has b82ea0a ("Enable universal newlines mode for Python 2").
|
|
Just adds a new warning: 0087b40 ("Warn if a symbol with unsatisfied
deps is selected")
|
|
Small docstring improvements:
- 1c37079 ("Add more detail to the write_config() docstring")
- 121d4a7 ("Add more detail to the write_autoconf() docstring")
- 27fbded ("Fix outdated comments referencing user_str/tri_value")
- e01cb49 ("Mention user_value in the load_config() docstring")
- ed32010 ("Add some more detail to the module docstring")
Code nit:
- 532b561 ("Simplify escape()")
|
|
Parsing performance improvements related to help texts:
- c800f70 ("Simplify _deindent()")
- 707204a ("Get rid of _next_help_line()")
- f0a87cc ("Micro-optimize _T_HELP parsing")
Also includes various code nits.
Brings 'make scriptconfig' with allyesconfig.py down to 1.3 seconds,
including the 'make' overhead.
|
|
- 97c7501 ("Fix 'source "missing"' error message for Python 3") makes
the hint re. environment variables display properly for Python 3 when
a sourced file can't be opened.
- 8574dc5 ("Make PyPI's README formatter happy") makes PyPI format the
README properly.
|
|
- 7dc5b74 ("Detect recursive 'source' and print backtrace") makes
debugging recursive 'source's a bit easier.
- Various minor code nits.
|
|
- 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.
|
|
- 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).
|
|
- 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.)
|
|
Just a few nits and a small optimization: d890343 (Micro-optimize
write_config() a bit). No bug fixes or functional changes.
|
|
To get 3832555 (Reenable accidentally disabled no-prompt warning) in.
|
|
|
|
Fixes an imply-related issue: 1774239 (Make 'imply' consider direct
dependencies). Imply support should be solid now.
|
|
The only fix is 2a2fcbd (Propagate dependencies to range conditions),
which fixes an obscure issue with dependencies on 'range x y'
properties.
Also includes some internal cleanup and optimization.
|
|
Fixes:
- After 250b370 (Refactor load_config() and fix minor issues),
print_undef_assign=True also considers
"# CONFIG_NOT_DEFINED is not set", which acts like an "n" assignment
in practice.
- 7cbfa47 (Fix undef. assign warning in set_user_value())
Also contains some internal cleanup and optimization.
|
|
Fixes two minor issues that didn't trigger for the kernel defconfigs but
were found by inspecting the Kconfig C sources:
- 5f3d307 (Fix 'default' on non-visible choice symbols)
- f76a524 (Hide non-tristate symbols in non-y tristate choices)
Also includes some minor optimizations and a lot of code cleanups,
including prefixing all internal identifiers with _.
|
|
Shows up when you do 'pip show kconfiglib', which previously showed
UNKNOWN for the license. I was hoping it'd be inferred from the trove
classifiers.
Make this a 1.0.2 release.
|
|
Gets the get_defconfig_filename() fixes out.
|
|
Preparation for adding to PyPI. Switch to setuptools and add a bunch
more metadata. Use semantic versioning (http://semver.org).
|
|
|
|
|