<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git, branch v9.0.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v9.0.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v9.0.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-07-15T14:46:47Z</updated>
<entry>
<title>Make 9.0.0 release</title>
<updated>2018-07-15T14:46:47Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-15T14:46:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=bca625ae5d99872d8c1d21cbce6e407a8a4eaf6f'/>
<id>urn:sha1:bca625ae5d99872d8c1d21cbce6e407a8a4eaf6f</id>
<content type='text'>
This release revamps the globbing design to make 'source' globbing,
requiring at least at least one matching file. A new o(r)source
statement can be used when it's okay for a pattern to not match any
files.

Relevant commit, with motivations: 7a428aa ("Switch to more sensible
globbing statements (w/ backwards compatibility)").

Backwards compatibility is maintained by having g(r)source be an alias
for o(r)source.

A small API change was introduced too: Kconfig.srctree is now set to the
empty string instead of None when $srctree is unset. This gives nice
behavior for e.g. os.path.join().
</content>
</entry>
<entry>
<title>Switch to more sensible globbing statements (w/ backwards compatibility)</title>
<updated>2018-07-15T14:15:43Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-15T11:16:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7a428aa415606820a44291f475248b08e3952c4b'/>
<id>urn:sha1:7a428aa415606820a44291f475248b08e3952c4b</id>
<content type='text'>
Instead of having 'source' and 'gsource', have 'source' always glob, but
require the pattern to match at least one file, throwing KconfigError
otherwise.

Have separate 'osource' and 'orsource' statements (the o is for
"optional") for cases where it's okay for the pattern to not match any
files.

This is analogous to 'include' and '-include' in Make.

The biggest flaw with 'gsource' was that there was no way to do a
globbing match while requiring something to match, possibly leading to
subtle failures.

Preserve backwards compatibility by having "gsource" and "grsource" be
aliases for "osource" and "orsource", respectively.

Also include some related changes:

 - Kconfig.srctree is now set to the empty string if $srctree is unset,
   rather than to None. This gives nice behavior with os.path.join() and
   os.path.relpath(), which treat the empty string as the current
   directory (without adding './', for os.path.join()).

 - When $srctree is set, Kconfig files in the current directory will no
   longer override Kconfig files in $srctree when the relative paths
   match. This was likely a bug all along in the C tools, and probably
   only makes sense for .config files.

   I've seen it cause breakage in Zephyr.

 - Clarify the behavior of $srctree in the Kconfig.__init__() docstring.

 - Make MenuNode.filename be relative to $srctree for the Kconfig file
   passed to Kconfig.__init__(). This makes it consistent.

The major version will be bumped later due to the small Kconfig.srctree
API change.
</content>
</entry>
<entry>
<title>Reorder _filestack fields</title>
<updated>2018-07-15T10:41:53Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-15T10:41:41Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=d8a7421d231e504e5b1409d9ed3137b147b3db8d'/>
<id>urn:sha1:d8a7421d231e504e5b1409d9ed3137b147b3db8d</id>
<content type='text'>
Bit easier to read.
</content>
</entry>
<entry>
<title>Detect recursive 'source' earlier</title>
<updated>2018-07-15T10:09:54Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-15T10:09:54Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=bae9b9ea7997efec0a8b9a68e43cc110125e40a8'/>
<id>urn:sha1:bae9b9ea7997efec0a8b9a68e43cc110125e40a8</id>
<content type='text'>
Off-by-one error, though still functional. The recursive source is now
detected immediately as the file is source'd the second time.

Also remove an outdated comment re. KconfigError.
</content>
</entry>
<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>Fix absolute $srctree prefixes showing up on gsource'd files</title>
<updated>2018-07-13T16:22:12Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-13T16:22:12Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ac692af07a123b3d623e51df7f1e7a10b88c1ddd'/>
<id>urn:sha1:ac692af07a123b3d623e51df7f1e7a10b88c1ddd</id>
<content type='text'>
When using gsource with $srctree set to an absolute path, the $srctree
prefix would show up in MenuNode.filename, trickling its way into e.g.
generated documentation.

This was due to a broken test: os.path.isabs() was checked after joining
the pattern with $srctree, making it mistake an absolute $srctree for an
absolute path in the Kconfig file.

Fix the test.
</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>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>
</feed>
