Each macro in the Archive has an all-upper-case name with the prefix
AX_. The macro is stored in a file with the same name, in
lower case, and with the suffix
.m4. Unless absolutely
necessary, the file contents should be in ASCII. For example, use
apostrophe (U+27) for quoting identifiers instead of Unicode quotation
mark characters U+2018, U+2019.
The file should begin with a header comment containing three named sections: synopsis, description, and license.
The synopsis gives a summary of the macro usage and arguments. In this
section, square brackets (
) are used to indicate optional
parameters, and may be nested.
The description contains a prose description of the macro. It should describe the function of the macro, and the meaning of any arguments given in the synopsis. The description should also identify:
--enableoptions, and their default values
Macros should be defined with
AC_DEFUN, using correct
quoting. Comments should be used liberally within the macro, with
dnl used for comments at the m4sh level and
used for comments at the shell level.
If a macro is renamed, the
AU_ALIAS macro should be used to
guide users of the old name to the new name:
To submit updates to the Autoconf Archive, please create an issue in the
tracker and attach a (preferably
git-format-patch(1)-formatted) patch file. Users of
github.com may prefer to create a pull request for the
Archive Mirror at Github. Please make sure your submission contains
the following items:
Autoconf macros are used in a surprising variety of ways, and a well-written macro should be flexible enough to suit all of these uses.
See the Autotools Mythbuster for suggestions on how to write well-encapsulated, portable macros.