Copyright (C) 2000-2012 |
GNU Info (autoconf.info)Macro DefinitionsMacro 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 |