Node:Suggested Ordering, Previous:Prerequisite Macros, Up:Dependencies Between Macros
Some macros should be run before another macro if both are called, but neither requires that the other be called. For example, a macro that changes the behavior of the C compiler should be called before any macros that run the C compiler. Many of these dependencies are noted in the documentation.
Autoconf provides the AC_BEFORE
macro to warn users when macros
with this kind of dependency appear out of order in a
configure.ac
file. The warning occurs when creating
configure
from configure.ac
, not when running
configure
.
For example, AC_PROG_CPP
checks whether the C compiler
can run the C preprocessor when given the -E
option. It should
therefore be called after any macros that change which C compiler is
being used, such as AC_PROG_CC
. So AC_PROG_CC
contains:
AC_BEFORE([$0], [AC_PROG_CPP])dnl
This warns the user if a call to AC_PROG_CPP
has already occurred
when AC_PROG_CC
is called.
AC_BEFORE (this-macro-name, called-macro-name) | Macro |
Make m4 print a warning message to the standard error output if
called-macro-name has already been called. this-macro-name
should be the name of the macro that is calling AC_BEFORE . The
macro called-macro-name must have been defined using
AC_DEFUN or else contain a call to AC_PROVIDE to indicate
that it has been called.
|