This module parses files consisting of a series of
key=value lines. One use
of this module is to load kconfig configurations in meson projects.
Note: this does not provide kconfig frontend tooling to generate a configuration. You still need something such as kconfig frontends (see link below) to parse your Kconfig files, and then (after you've chosen the configuration options), output a ".config" file.
The module may be imported as follows:
keyval = import('unstable-keyval')
The following functions will then be available as methods on the object
with the name
keyval. You can, of course, replace the name
keyval with anything else.
This function loads a file consisting of a series of
and returns a dictionary object.
keyval.load() makes no attempt at parsing the values in the file.
In particular boolean and integer values will be represented as strings,
and strings will keep any quoting that is present in the input file. It
can be useful to create a
object from the dictionary and use methods such as
Kconfig frontends usually have ".config" as the default name for the
configuration file. However, placing the configuration file in the source
directory limits the user to one configuration per source directory.
In order to allow separate configurations for each build directory, as is
the Meson standard,
meson.build should not hardcode ".config" as the
kconfig.load(), and should instead make the argument to
kconfig.load() a project build option.
- The first (and only) argument is the path to the configuration file to load (usually ".config").
Returns: a dictionary object.
The results of the search are