DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(autoconf.info.gz) New Macros

Info Catalog (autoconf.info.gz) Changed Quotation (autoconf.info.gz) Autoconf 2 (autoconf.info.gz) Hosts and Cross-Compilation
 
 New Macros
 ----------
 
    Because Autoconf has been dormant for years, Automake provided
 Autoconf-like macros for a while.  Autoconf 2.50 now provides better
 versions of these macros, integrated in the `AC_' namespace, instead of
 `AM_'.  But in order to ease the upgrading via `autoupdate', bindings
 to such `AM_' macros are provided.
 
    Unfortunately Automake did not quote the names of these macros!
 Therefore, when `m4' finds something like `AC_DEFUN(AM_TYPE_PTRDIFF_T,
 ...)' in `aclocal.m4', `AM_TYPE_PTRDIFF_T' is expanded, replaced with
 its Autoconf definition.
 
    Fortunately Autoconf catches pre-`AC_INIT' expansions, and will
 complain, in its own words:
 
      $ cat configure.in
      AC_INIT
      AM_TYPE_PTRDIFF_T
      $ aclocal-1.4
      $ autoconf
      ./aclocal.m4:17: error: m4_defn: undefined macro: _m4_divert_diversion
      actypes.m4:289: AM_TYPE_PTRDIFF_T is expanded from...
      ./aclocal.m4:17: the top level
      $
 
    Future versions of Automake will simply no longer define most of
 these macros, and will properly quote the names of the remaining macros.
 But you don't have to wait for it to happen to do the right thing right
 now: do not depend upon macros from Automake as it is simply not its job
 to provide macros (but the one it requires itself):
 
      $ cat configure.in
      AC_INIT
      AM_TYPE_PTRDIFF_T
      $ rm aclocal.m4
      $ autoupdate
      autoupdate: `configure.in' is updated
      $ cat configure.in
      AC_INIT
      AC_CHECK_TYPES([ptrdiff_t])
      $ aclocal-1.4
      $ autoconf
      $
 
Info Catalog (autoconf.info.gz) Changed Quotation (autoconf.info.gz) Autoconf 2 (autoconf.info.gz) Hosts and Cross-Compilation
automatically generated byinfo2html