The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.8 KiB

---
short-description: Unstable kconfig module
authors:
- name: Mark Schulte, Paolo Bonzini
years: [2017, 2019]
has-copyright: false
...
# Unstable kconfig module
This module parses Kconfig output files to allow use of 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.
[kconfig-frontends]: http://ymorin.is-a-geek.org/projects/kconfig-frontends
## Usage
The module may be imported as follows:
``` meson
kconfig = import('unstable-kconfig')
```
The following functions will then be available as methods on the object
with the name `kconfig`. You can, of course, replace the name
`kconfig` with anything else.
### kconfig.load()
This function loads a kconfig output file and returns a dictionary object.
`kconfig.load()` makes no attempt at parsing the values in the
file. Therefore, true boolean values will be represented as the string "y"
and integer values will have to be converted with `.to_int()`.
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
argument to `kconfig.load()`, and should instead make the argument to
`kconfig.load()` a [project build option](Build-options.md).
* The first (and only) argument is the path to the configuration file to
load (usually ".config").
**Returns**: a [dictionary object](Reference-manual.md#dictionary-object).