GNU Info

Info Node: (autoconf.info)Macro Definitions

(autoconf.info)Macro Definitions


Next: Macro Names Up: Writing Autoconf Macros
Enter node , (file) or (file)node

Macro Definitions
=================

   Autoconf macros are defined using the `AC_DEFUN' macro, which is
similar to the M4 builtin `m4_define' macro.  In addition to defining a
macro, `AC_DEFUN' adds to it some code that is used to constrain the
order in which macros are called (Note: Prerequisite Macros).

   An Autoconf macro definition looks like this:

     AC_DEFUN(MACRO-NAME, MACRO-BODY)

   You can refer to any arguments passed to the macro as `$1', `$2',
etc.  Note: How to define new macros, for more
complete information on writing M4 macros.

   Be sure to properly quote both the MACRO-BODY _and_ the MACRO-NAME
to avoid any problems if the macro happens to have been previously
defined.

   Each macro should have a header comment that gives its prototype,
and a brief description.  When arguments have default values, display
them in the prototype.  For example:

     # AC_MSG_ERROR(ERROR, [EXIT-STATUS = 1])
     # --------------------------------------
     m4_define([AC_MSG_ERROR],
     [{ _AC_ECHO([configure: error: $1], 2); exit m4_default([$2], 1); }])

   Comments about the macro should be left in the header comment.  Most
other comments will make their way into `configure', so just keep using
`#' to introduce comments.

   If you have some very special comments about pure M4 code, comments
that make no sense in `configure' and in the header comment, then use
the builtin `dnl': it causes `m4' to discard the text through the next
newline.

   Keep in mind that `dnl' is rarely needed to introduce comments;
`dnl' is more useful to get rid of the newlines following macros that
produce no output, such as `AC_REQUIRE'.


automatically generated by info2www version 1.2.2.9