m4: The m4 macro processor1

GNU 'M4' is an implementation of the traditional Unix macro
processor. It is mostly SVR4 compatible, although it has some
extensions (for example, handling more than 9 positional parameters
to macros). 'M4' also has built-in functions for including files,
running shell commands, doing arithmetic, etc. Autoconf needs GNU
'M4' for generating 'configure' scripts, but not for running them.