Some gcc header files are difficult for the signames2.awk
script to process, so if the preprocessor is gcc give the
option -P to strip out the unwanted additions.
Variables are now associated with the module that declares them, being
initialised and saved/restored there. However, as many variables are
used for communication between modules, many of them are set in multiple
places, so the assignment is ambiguous.
Generate the patch level using `git describe` rather than relying on the
CVS $Revision$. Need to use the `--tags` option, since currently there
are no annotated tags. The `--long` option should be used so that the
output will always be in the 'tag-commits-hash' format rather than just
naming a tag when that would fully describe the current commit.
Since changes to the patchlevel could now be caused by changes to any
file, force the rule to be called every time that `make` is run. Only
update the file when there are actually changes to prevent unnecessary
rebuilding of other build products (currently just `params.o` and
`zsh`).
Src/zsh.mdd: Allow options to be specified on the zsh command line
in the form of GNU-style long options. Also handle --version
and --help. Do not permit extra option letters to be stacked
after `-whatever-' (they used to be ignored). Exit if the
command line specifies an option name that doesn't exist.