[ANNOUNCE] Kconfiglib menuconfig and documentation generation updates
From: Ulf Magnusson
Date: Thu Sep 27 2018 - 18:44:18 EST
Hello,
Here's two small Kconfiglib (https://github.com/ulfalizer/kconfiglib) updates.
First, I've made it a lot easier to try out the menuconfig implementation on
the kernel. This will work now, in the kernel root:
$ git clone https://github.com/ulfalizer/Kconfiglib.git
$ git am Kconfiglib/makefile.patch
$ make kmenuconfig
Here's an animation that demonstrates various menuconfig features:
https://raw.githubusercontent.com/ulfalizer/Kconfiglib/screenshots/screenshots/menuconfig.gif
Secondly, there's now a handy cross-referenced documentation generation script
available.
Example documentation output (warning: heavy page, lots of symbols):
https://docs.zephyrproject.org/latest/reference/kconfig/index.html
The script that generates the documentation:
https://github.com/zephyrproject-rtos/zephyr/blob/master/doc/scripts/genrest.py
The recently added Kconfig preprocessor has been implemented for a while now,
along with an extension that allows preprocessor functions to be defined in
Python.
I've also fixed some broken/incomplete behavior from the C tools, like not
being able to add symbols to choices by giving them a name and defining them in
multiple locations (though I think projects sometimes overdo multiple
definitions :). This is actually just a menuconfig hack that aggregates the
menu nodes from all choice definition locations when you enter a choice.
Zephyr and several smaller projects now use Kconfiglib exclusively.
Feedback appreciated!
Cheers,
Ulf