Four different configuration programs read Config Language:
scripts/Configure | make config, make oldconfig |
scripts/Menuconfig | make menuconfig |
scripts/tkparse | make xconfig |
mconfig | ftp.kernel.org/pub/linux/kernel/people/hch/mconfig/ |
'Configure' is a bash script which interprets Config.in files by sourcing them. Some of the Config Language commands are native bash commands; simple bash functions implement the rest of the commands.
'Menuconfig' is another bash script. It scans the input files with a small awk script, builds a shell function for each menu, sources the shell functions that it builds, and then executes the shell functions in a user-driven order. Menuconfig uses 'lxdialog', a back-end utility program, to perform actual screen output. 'lxdialog' is a C program which uses curses.
'scripts/tkparse' is a C program with an ad hoc parser which translates a Config Language script to a huge TCL/TK program. 'make xconfig' then hands this TCL/TK program to 'wish', which executes it.
'mconfig' is the next generation of Config Language interpreters. It is a C program with a bison parser which translates a Config Language script into an internal syntax tree and then hands the syntax tree to one of several user-interface front ends.
L4 Checker 2012-04-11