<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/tests/Klocation, branch v6.1.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v6.1.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v6.1.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-05-26T13:04:35Z</updated>
<entry>
<title>Micro-optimize _parse_help() loop</title>
<updated>2018-05-26T13:04:35Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-26T12:53:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ab2431ca36139c6d450adfe275d1e14088633eed'/>
<id>urn:sha1:ab2431ca36139c6d450adfe275d1e14088633eed</id>
<content type='text'>
Shaves ~6% off the _parse_help() runtime for the x86 Kconfigs in
cProfile.
</content>
</entry>
<entry>
<title>Expand environment variables in strings directly</title>
<updated>2018-05-16T17:42:56Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-14T16:00:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=cbf32e29a130d22bc734b7778e6304ac9df2a3e8'/>
<id>urn:sha1:cbf32e29a130d22bc734b7778e6304ac9df2a3e8</id>
<content type='text'>
Make "$FOO" directly reference the environment variable $FOO in e.g.
'source' statements, instead of the symbol FOO. Use os.path.expandvars()
to expand strings (which preserves "$FOO" as-is if no environment
variable FOO exists).

This gets rid of the 'option env' "bounce" symbols, which are mostly
just spam and are buggy in the C tools (dependencies aren't always
respected, due to parsing and evaluation getting mixed up). The same
change will probably appear soon in the C tools as well.

Keep accepting 'option env' to preserve some backwards compatibility,
but ignore it when expanding strings. For compatibility with the C
tools, bounce symbols will need to be named the same as the environment
variables they reference (which is the case for the Linux kernel).

This is a compatibility break, so the major version will be bumped to 6
at the next release.

The main motivation for adding this now is to allow recording properties
on each MenuNode in a clean way. 'option env' symbols interact badly
with delayed dependency propagation.

Side note: I have a feeling that recording environment variable values
might be redundant to trigger rebuilds if sync_deps() is run at each
compile. It should detect all changes to symbol values due to
environment variables changing value.
</content>
</entry>
<entry>
<title>Test grsource with nonexistent file</title>
<updated>2018-03-13T05:35:41Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-03-13T05:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=044310b6398b4e0e914deda00509ad86febc521b'/>
<id>urn:sha1:044310b6398b4e0e914deda00509ad86febc521b</id>
<content type='text'>
Just for completeness.
</content>
</entry>
<entry>
<title>Add a globbing source statement</title>
<updated>2018-03-13T04:04:44Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-03-13T02:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=daac69dc05217d024fbe021447629fa2b3d95b70'/>
<id>urn:sha1:daac69dc05217d024fbe021447629fa2b3d95b70</id>
<content type='text'>
'gsource' works like 'source', but takes a glob pattern and sources all
matching files. Works as a no-op if no files match, and hence doubles as
an include-if-exists function, similar to '-include' in 'make'.

Add a 'grsource' statement as well, mirroring 'rsource'.

Came up in https://github.com/ulfalizer/Kconfiglib/pull/40.
</content>
</entry>
<entry>
<title>Implement 'rsource' statement ('source' with relative path)</title>
<updated>2018-02-27T08:04:36Z</updated>
<author>
<name>Roman</name>
<email>ztcoils@gmail.com</email>
</author>
<published>2018-02-27T08:04:36Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=aea0232a56d9a9d2611b79ea9c67e0d9d49b183f'/>
<id>urn:sha1:aea0232a56d9a9d2611b79ea9c67e0d9d49b183f</id>
<content type='text'>
The 'rsource' statement works like 'source', but looks relative to the
Kconfig file that has the 'rsource' rather than relative to the base
Kconfig file. Using 'rsource' makes it possible to move subtrees with
Kconfig files around without breaking references to other Kconfig files.

So far, this is a Kconfiglib-exclusive feature.</content>
</entry>
<entry>
<title>Add some post-parsing warnings</title>
<updated>2018-01-28T09:56:57Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-01-28T09:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9c309400fca07f15d8f4b116c12fa58f97d8043a'/>
<id>urn:sha1:9c309400fca07f15d8f4b116c12fa58f97d8043a</id>
<content type='text'>
These are easiest to check after parsing, since a symbol/choice can be
defined in multiple locations:

 - Warn if a symbol or choice defined without a type. Also warn for
   choice value symbols defined without a type, even if they
   automatically get their type from the choice. This feature isn't
   well-known and probably not used deliberately.

 - Warn if a choice is defined without a prompt

 - Warn of a choice default symbol is not contained in the choice

Also move _name_and_loc_str() from the symbol class to the global scope
and generalize it to be able to handle choices.
</content>
</entry>
<entry>
<title>Get rid of _next_help_line()</title>
<updated>2018-01-20T04:19:42Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-01-20T04:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=707204ac4a5539c9b4d4875d12fec340ba95c1a2'/>
<id>urn:sha1:707204ac4a5539c9b4d4875d12fec340ba95c1a2</id>
<content type='text'>
Speeds things up a bit further.

Rework the unget handling to save the ungotten line directly instead of
using a flag.

Add some help texts to tests/Klocation to make sure the line number is
updated properly for those.
</content>
</entry>
<entry>
<title>Add uncommitted test files</title>
<updated>2017-10-28T03:46:25Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-10-28T03:46:25Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7bbaf7e7cf131d83931bfda2d2e8e5d6ef1b235f'/>
<id>urn:sha1:7bbaf7e7cf131d83931bfda2d2e8e5d6ef1b235f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Kconfiglib 2 backup</title>
<updated>2017-10-24T17:24:08Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-10-09T21:05:00Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=dd0e227216e247d2040cdd40bf7397702880cdc4'/>
<id>urn:sha1:dd0e227216e247d2040cdd40bf7397702880cdc4</id>
<content type='text'>
WIP
</content>
</entry>
<entry>
<title>Add support for less/greater than comparisons</title>
<updated>2017-09-20T03:38:19Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-19T21:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c8df7316d1ed151b93566a61ed9d95da67e17974'/>
<id>urn:sha1:c8df7316d1ed151b93566a61ed9d95da67e17974</id>
<content type='text'>
Was added upstream in 31847b67 (kconfig: allow use of relations other
than (in)equality). Completely unused (and undocumented) in the kernel
except for in DEBUG_UART_8250_WORD in arch/arm/Kconfig.debug:

   depends on DEBUG_UART_8250_SHIFT &gt;= 2

(That line was added before lt/gt support by the way, and assumed a
feature that wasn't there.)

This change (and the upstream one) also slightly changes how
(in)equality comparisons work, making e.g.

  MY_HEX = 0x00037

evaluate to 'y' if MY_HEX is 0x37. Prior to this change, the strings
needed to match exactly.
</content>
</entry>
</feed>
