(autoconf.info)Obsoleting Macros

Next: Coding Style Prev: Dependencies Between Macros Up: Writing Autoconf Macros

9.5 Obsoleting Macros

Configuration and portability technology has evolved over the years.
Often better ways of solving a particular problem are developed, or
ad-hoc approaches are systematized.  This process has occurred in many
parts of Autoconf.  One result is that some of the macros are now
considered "obsolete"; they still work, but are no longer considered
the best thing to do, hence they should be replaced with more modern
macros.  Ideally, `autoupdate' should replace the old macro calls with
their modern implementation.

   Autoconf provides a simple means to obsolete a macro.

     Define OLD-MACRO as IMPLEMENTATION.  The only difference with
     `AC_DEFUN' is that the user is warned that OLD-MACRO is now

     If she then uses `autoupdate', the call to OLD-MACRO is replaced
     by the modern IMPLEMENTATION.  MESSAGE should include information
     on what to do after running `autoupdate'; `autoupdate' prints it
     as a warning, and includes it in the updated `configure.ac' file.

     The details of this macro are hairy: if `autoconf' encounters an
     `AU_DEFUN'ed macro, all macros inside its second argument are
     expanded as usual.  However, when `autoupdate' is run, only M4 and
     M4sugar macros are expanded here, while all other macros are
     disabled and appear literally in the updated `configure.ac'.

     Used if the OLD-NAME is to be replaced by a call to NEW-MACRO with
     the same parameters.  This happens for example if the macro was

automatically generated by info2www