<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/setup.py, branch v8.1.1</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v8.1.1</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v8.1.1'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-07-13T17:00:28Z</updated>
<entry>
<title>Make 8.1.1 release</title>
<updated>2018-07-13T17:00:28Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-13T17:00:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e52afd688f1caa22ee722b971a2846083e4fbc2f'/>
<id>urn:sha1:e52afd688f1caa22ee722b971a2846083e4fbc2f</id>
<content type='text'>
This release adds commit ac692af ("Fix absolute $srctree prefixes
showing up on gsource'd files"), which fixes a bug that could cause
$srctree to be included in some paths for e.g. generated documentation.
</content>
</entry>
<entry>
<title>Make 8.1.0 release</title>
<updated>2018-07-11T12:55:25Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-11T12:19:49Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=47ab37c4e7c5c917bb57c0a6bdfbca72d2f2941d'/>
<id>urn:sha1:47ab37c4e7c5c917bb57c0a6bdfbca72d2f2941d</id>
<content type='text'>
This release improves performance for projects that make heavy use of
multiple definition locations for symbols, via commit 747e455
("Massively speed up U-Boot parsing").

Two new warnings are included as well:

  - 652d991 ("Warn if int/hex/string symbols are evaluated logically")

  - 21b5351 ("Warn if int/hex 'default' is outside active 'range'")
</content>
</entry>
<entry>
<title>Make 8.0.0 release</title>
<updated>2018-07-10T07:13:54Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T07:13:07Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8ff1be9dcf7d7d30fce553b0ed21b40bbc26cae7'/>
<id>urn:sha1:8ff1be9dcf7d7d30fce553b0ed21b40bbc26cae7</id>
<content type='text'>
New features:

  - 2433deb ("Add Kconfig preprocessor") implements a new Kconfig
    preprocessor, documented in
    https://github.com/torvalds/linux/blob/master/Documentation/kbuild/kconfig-macro-language.txt.
    It is required to parse the linux-next Kconfigs now, and will appear
    in Linux 4.18.

    'option env=...' symbols and the $FOO syntax for expanding
    environment variables will be supported for backwards compatibility
    for a while. Consider switching to $(FOO) though, which is the new
    syntax (and removing 'option env=...' symbols).

Changed behavior:

  - c19fc11 ("Drop some compatibility and tighten up lexing") makes
    Kconfiglib flag invalid characters in Kconfig files as a syntax
    error in all context. They were previously ignored in some places
    for compatibility with old sloppy versions of the C tools.

    The C tools fixed it with commit c2264564 ("kconfig: warn of
    unhandled characters in Kconfig commands") in July 2015. Older
    kernels might require fixing up the Kconfig files a bit now.

New warnings:

  - 4200e25 ("Generalize select-with-unsatisfied-deps warning") makes
    the select-with-unsatisfied-dependencies warning trigger when a
    symbol with m-valued direct dependencies is y-selected.
</content>
</entry>
<entry>
<title>Make 7.0.0 release</title>
<updated>2018-06-22T04:09:35Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-06-22T04:09:35Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=da06752545e35ea8bffeec07065679dcc4502013'/>
<id>urn:sha1:da06752545e35ea8bffeec07065679dcc4502013</id>
<content type='text'>
New features:

  - db92bb7 ("Add dependency loop detection") adds long-overdue
    dependency loop detection.

    Previously, dependency loops would trigger hard-to-debug Python
    RecursionError exceptions during evaluation. They now generate a
    KconfigError instead, with a helpful message that shows the items in
    the loop.

Backwards-incompatible changes (major version bumped to 7):

  - eb6c21a ("Turn MenuNode/Symbol/Choice.referenced() into a
    @property") fixes some inconsistency in the recently-added
    referenced-symbols APIs. Oversight.

Other changes:

  - f6eb4f4 ("Add Symbol/Choice.referenced() convenience methods")
    makes it easier to get all the symbols/choices referenced by a
    symbol or choice. Previously, you'd have to loop through all the
    menu nodes (definition locations) yourself, which might not be
    obvious.

  - ca89ca0 ("Rename KconfigSyntaxError to KconfigError") changes to
    a better exception name, as KconfigSyntaxError was raised for some
    things that aren't syntax errors.

    The old name is kept as an alias for now for backwards
    compatibility.
</content>
</entry>
<entry>
<title>Make 6.1.1 release</title>
<updated>2018-06-14T18:43:34Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-06-14T18:43:34Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2075347896ca184886926c3482dc2ffc7c7ae251'/>
<id>urn:sha1:2075347896ca184886926c3482dc2ffc7c7ae251</id>
<content type='text'>
Just adds commit dc0b022 ("Correctly report choice locations in some
warnings").
</content>
</entry>
<entry>
<title>Make 6.1.0 release</title>
<updated>2018-06-14T18:03:48Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-06-14T17:23:27Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=5b54529a40c1b8f628baa7ea4f8399e1213e283f'/>
<id>urn:sha1:5b54529a40c1b8f628baa7ea4f8399e1213e283f</id>
<content type='text'>
Fixes:

  - c880151 ("Fix incorrectly ordered properties for some nested
    multi.def. symbols") fixes a bug that could cause symbols/choices
    defined in multiple locations and nested in particular ways within
    if's and menus to get their properties in the wrong order.

    The Linux kernel wasn't affected (which is how it managed to slip
    through), but projects that make heavy use of symbols defined in
    multiple locations might have been. Comprehensive selftests have
    been added to cover property ordering on nested multi.def.
    symbols/choices.

New features:

  - 4af3e0c ("menuconfig: Support starting a search from the info
    dialog") and 330017a ("menuconfig: Support viewing symbol info from
    within the jump-to dialog") makes working with the menuconfig a bit
    smoother to work with.

  - 68043b2 ("Add MenuNode function that returns referenced items")
    makes it easier to find out what symbols/choices a symbol, choice,
    menu, or comment references, which is handy e.g. for searching.
</content>
</entry>
<entry>
<title>Make 6.0.1 release</title>
<updated>2018-06-06T12:17:43Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-06-06T12:13:39Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=055cc3ff22a3fd81c6a9327eed51a6c35de7d3b0'/>
<id>urn:sha1:055cc3ff22a3fd81c6a9327eed51a6c35de7d3b0</id>
<content type='text'>
Just to fix the rendering of the README on PyPI with commit b727f4d
("Fix link to allyesconfig.py in README").
</content>
</entry>
<entry>
<title>Make 6.0.0 release</title>
<updated>2018-06-06T10:25:00Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-06-05T16:26:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=046a358a33696b514e18922e232a68026c4f35b6'/>
<id>urn:sha1:046a358a33696b514e18922e232a68026c4f35b6</id>
<content type='text'>
Changed behavior (giving the major version bump):

  - cbf32e2 ("Expand environment variables in strings directly") makes
    'option env' "bounce" symbols redundant, though they are still
    supported for backwards compatibility (with the caveat that they
    must have the same name as the environment variables they
    reference to preserve behavior).

    A warning is printed if 'option env="FOO"' appears on a symbol
    that's not named FOO.

    This change will likely appear in the C tools soon as well.

Other new features:

  - The menuconfig implementation is now bundled in the PyPI package,
    along with implementations of the Kconfig oldconfig and
    all{def,no,yes,mod}config tools.

    A genconfig script is provided for generating a C header from the
    configuration, as well as (optionally) the sync_deps() directory
    structure for implementing incremental builds.

  - 63a4418 ("Record which MenuNode has each property") makes it
    possible to generate documentation for symbols defined in multiple
    locations with each property shown on the right definition. See
    genrest.py in Zephyr.

    This change also cleans up the parsing code a bit. Dependency
    propagation is now done after parsing, in _finalize_tree().

  - 94020be ("Make Kconfig._choices public") and fc73c46 ("Provide lists
    with all menus and comments") gives easier access to Kconfig items
    of a specific type, without having to walk the menu tree. This turns
    out to be handy e.g. when generating documentation and implementing
    search.

Improvements and new warnings:

  - da40c01 ("Force encoding to UTF-8 by default on Python 3")

  - 7427079 ("Get rid of the predefined UNAME_RELEASE symbol")

  - f64591c ("Warn if prompt contains leading or trailing whitespace")

  - c14e411 ("Warn if quotes are omitted around string defaults")

Misc. minor refactoring and cleanup has been done as well.
</content>
</entry>
<entry>
<title>Turn syncconfig.py into genconfig.py and generate header</title>
<updated>2018-06-05T14:09:37Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-06-05T11:16:12Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a0f0018496f01f22caf358a56b1d6b91f100af1a'/>
<id>urn:sha1:a0f0018496f01f22caf358a56b1d6b91f100af1a</id>
<content type='text'>
There should be a script available that generates the output header for
the build. It usually makes sense to generate both the header and any
incremental build information at the same time (automatically during
build), so roll them both into the same script.
</content>
</entry>
<entry>
<title>Package the *config scripts</title>
<updated>2018-06-04T09:31:42Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-06-04T09:18:49Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=1684cfc14b7e569b4e4e6628d9edde1ad67bd7b1'/>
<id>urn:sha1:1684cfc14b7e569b4e4e6628d9edde1ad67bd7b1</id>
<content type='text'>
These currently include menuconfig, oldconfig, syncconfig, alldefconfig,
and all{no,mod,yes}config, which probably cover what 90% of people will
need to use. More scripts could be added later.

Use the entry_points mechanism
(http://setuptools.readthedocs.io/en/latest/setuptools.html#automatic-script-creation),
which gives something that works out-of-the-box on Windows. It also
removes the .py suffix for the installed scripts.
</content>
</entry>
</feed>
