The GNU macro processor
A GNU implementation of the traditional UNIX macro processor. M4 is useful for writing text files which can be logically parsed, and is used by many programs as part of their build process. M4 has built-in functions for including files, running shell commands, doing arithmetic, etc. The autoconf program needs m4 for generating configure scripts, but not for running configure scripts. Install m4 if you need a macro processor.