autoconf: Why GNU M4

1 
1 20.2 Why Require GNU M4?
1 ========================
1 
1      Why does Autoconf require GNU M4?
1 
1    Many M4 implementations have hard-coded limitations on the size and
1 number of macros that Autoconf exceeds.  They also lack several builtin
1 macros that it would be difficult to get along without in a
1 sophisticated application like Autoconf, including:
1 
1      m4_builtin
1      m4_indir
1      m4_bpatsubst
1      __file__
1      __line__
1 
1    Autoconf requires version 1.4.6 or later of GNU M4.
1 
1    Since only software maintainers need to use Autoconf, and since GNU
1 M4 is simple to configure and install, it seems reasonable to require
1 GNU M4 to be installed also.  Many maintainers of GNU and other free
1 software already have most of the GNU utilities installed, since they
1 prefer them.
1