<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git, branch v8.1.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v8.1.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v8.1.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-07-11T12:55:25Z</updated>
<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>Massively speed up U-Boot parsing</title>
<updated>2018-07-11T12:55:25Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-11T08:25:41Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=71872a88641f713dfa986906e860c320a74fd84a'/>
<id>urn:sha1:71872a88641f713dfa986906e860c320a74fd84a</id>
<content type='text'>
U-Boot has a ton of definition locations for some symbols, causing a lot
of redundant work when iterating over Kconfig.defined_syms in
_build_dep(). Iterate over set(Kconfig.defined_syms) instead, wherever
possible.

This speeds up the U-Boot parsing time from 4 seconds to 0.6 seconds on
my machine.

Also update the bundled tools to iterate over set(Kconfig.defined_syms).
The performance loss is negligible even for projects that don't use
multiple definition locations.

Update the documentation to clarify that symbols/choices defined in
multiple locations appear multiple times in Kconfig.defined_syms/choices
as well.
</content>
</entry>
<entry>
<title>Comment formatting nit</title>
<updated>2018-07-11T12:55:25Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-11T04:23:44Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=f0a8a4d86e4c52b401f543737d76ae8392247300'/>
<id>urn:sha1:f0a8a4d86e4c52b401f543737d76ae8392247300</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add hint re. "macro expanded to blank string"</title>
<updated>2018-07-10T13:21:02Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T13:21:02Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e927c3722aeba9fa5336b92bf8ca6967f28bd70f'/>
<id>urn:sha1:e927c3722aeba9fa5336b92bf8ca6967f28bd70f</id>
<content type='text'>
More environment variables are referenced now.</content>
</entry>
<entry>
<title>Remove trailing whitespace</title>
<updated>2018-07-10T12:41:43Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T12:41:43Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=547fced630611e7554d05e4f69f01957c9fc35d4'/>
<id>urn:sha1:547fced630611e7554d05e4f69f01957c9fc35d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Warn if int/hex 'default' is outside active 'range'</title>
<updated>2018-07-10T12:19:04Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T12:16:08Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=21b5351c3721359dbd28937c95e75ba4b435f0b7'/>
<id>urn:sha1:21b5351c3721359dbd28937c95e75ba4b435f0b7</id>
<content type='text'>
Only out-of-range user values generated warnings before.

The C tools warn for neither of them.
</content>
</entry>
<entry>
<title>Warn if int/hex/string symbols are evaluated logically</title>
<updated>2018-07-10T11:30:43Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T11:23:14Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=652d9916b12e1b2ee918b61d04ff23226d2fa4cd'/>
<id>urn:sha1:652d9916b12e1b2ee918b61d04ff23226d2fa4cd</id>
<content type='text'>
They always evaluate to n.

Would be nice if there was a trivial way to give the location(s). Just
say "somewhere" for now.
</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>Remove reference to "speedy" test suite option in README</title>
<updated>2018-07-10T06:54:08Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T06:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9ae09d5a5c6c69c089f76eb0b7ce3bbcb690257d'/>
<id>urn:sha1:9ae09d5a5c6c69c089f76eb0b7ce3bbcb690257d</id>
<content type='text'>
Has been removed (and is now always on).
</content>
</entry>
<entry>
<title>Add Kconfig preprocessor</title>
<updated>2018-07-10T05:56:37Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-03T16:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2433deba7889931c4bae679f116887fe49a2ce04'/>
<id>urn:sha1:2433deba7889931c4bae679f116887fe49a2ce04</id>
<content type='text'>
Implement the Kconfig preprocessor described in
https://github.com/torvalds/linux/blob/master/Documentation/kbuild/kconfig-macro-language.txt
(which is now in linux-next and will appear in Linux 4.18).

A new Kconfig.variables property holds all the preprocessor variables so
that they can be inspected programmatically. Preprocessor variables are
represented by a new Variable class.

With the preprocessor, environment variables are referenced with $(FOO)
instead of $FOO. For backwards compatibility, $FOO is accepted as well
for now (and leaves "$FOO" as-is if FOO doesn't exist). The $FOO syntax
might be dropped at some point in the future (together with a major
version increase). It should be supported for a few months at least.

Some internals were cleaned up too, mostly related to parsing. Some
outdated documentation was fixed as well.
</content>
</entry>
</feed>
