Autoconf宏是用宏AC_DEFUN定义的,该宏与m4的内置define宏相似。 除了定义一个宏,AC_DEFUN把某些用于限制宏调用顺序的代码添加到其中。 (参见首要的宏)。

一个Autoconf宏像下面那样定义:

AC_DEFUN(macro-name, [macro-body])
这里的方括号并不表示可选的文本:它们应当原样出现在宏定义中,以避免宏扩展问题 (参见引用)。你可以使用$1'、$2’等等来访问 传递给宏的任何参数。

为使用m4注释,使用m4内置的dnl; 它使m4放弃本行中其后的所有文本。因为在调用AC_INIT之前,所有的输出都被取消, 所以在acsite.m4'和aclocal.m4’中的宏定义之间不需要它。

关于编写m4宏的更完整的信息,参见GNU m4中的`如何定义新宏’。