Short: Better configuration mechanism
From: Lars
Date: 990708
Type: Feature
State: Unclassified

Create a master file describing all compiler options, runtime or else:

  # Lines like are completely ignored

  /* All other lines are copied verbatim into config.h, except for
   * commands like this:
   */

  use compat-mode no
  set max-players 50

  /* First is a boolean option, second value option, both with the
   * default value
   */

Scripts take this master file and generate following files from it:

  - config.h.in: a template where all options are documented, but undefined.
  - config.h: an stub file
  - config-defaults.h: an include file which includes config.h and provides
       default settings for all options not defined in config.h
  - make-config: a script which is able to parse a given config.h file,
       combine the settings extracted there with commandline settings
       and then writes a new config.h file. By default it would read
       config.h.in. Of course, for this to work config.h has to follow
       a strict pattern.

In an extension, this master file method could be used to generate parts of
the commandline parsing code.
