One thing that does occur to me is that a very large fraction of config.h is now symbols that are supposed to be
setby configure, and as you say it's not good to give people the idea that they should tweak those results by hand
afterconfiguring. What do you think of pulling the remaining hand-settable symbols out into a separate file, maybe
calledsomething like "siteconfig.h"? Then config.h becomes purely a machine-generated file. This would also solve
theproblem of losing hand-set config choices if you rerun configure.
config.h should contain only machine generated stuff for exactly the
reasons you mention. Perhaps config.h.in should be something like:
/* siteconfig.h overrides various variables */
#include "siteconfig.h"
/* enable feature FOO (can be overridden by siteconfig.h) */
#ifndef FOO
#undefine FOO
#endif
Cheers,
Brook