[ANNOUNCE] Kconfiglib menuconfig and documentation generation updates

From: Ulf Magnusson
Date: Thu Sep 27 2018 - 18:44:18 EST


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:

Secondly, there's now a handy cross-referenced documentation generation script

Example documentation output (warning: heavy page, lots of symbols):

The script that generates the documentation:

The recently added Kconfig preprocessor has been implemented for a while now,
along with an extension that allows preprocessor functions to be defined in

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!