wouldn't it just be better to use something along the lines of autoconfigure (i think that's the name anyway, its what you use to configure the linux kernel)? it already has a nice format for input and output files, which includes conditional variables (for things like the "do you have a gateway?" and "what is the ip?" example) and limits on values, and can be edited by hand fairly easily so long as the configure.in used reasonable variable names. furthermore there's already a front end (three in fact, all bundled with every kernel source distribution). then all we'd need is something that turns the output of configure into something usable by the package using it. so all we need is to add a configure.in and a script to translate to any package and it can use the new handy-dandy-automagical autoconfigure tool.
or am i thinking of something completely different here? --phouchg