It feels like the body of AC_OUTPUT has different quoting levels
between 2.13 and latest CVS.
Notice that AC_DEFINE seems to get undefined because of its appearance
in a _comment_ in AC_OUTPUT. Bizarre! Changing that comment to
dnl XXAC_DEFINE
does not change things.
The dnl comment in AC_OUTPUT does not get removed.
Even if the new quoting level is better, you cannot change this for
the sake of backward compatibility.
Self-explanatory shell transcript follows:
(martin@wobble) ~/src $ cat configure.in
AC_INIT(foo.h)
AC_DEFINE(foo)
define([MYMACRO],[echo in my macro
])
AC_OUTPUT(bar,
[echo in ac_output
MYMACRO
dnl AC_DEFINE
],[
])
(martin@wobble) ~/src $ autoconf --version; autoconf
Autoconf version 2.13
(martin@wobble) ~/src $ grep -A2 'echo in ac_output' configure
echo in ac_output
echo in my macro
(martin@wobble) ~/src $ $cdi/autoconf/inst/bin/autoconf --version;
$cdi/autoconf/inst/bin/autoconf
autoconf (GNU autoconf) 2.14a
Written by David J. MacKenzie.
Copyright (C) 1992, 1993, 1994, 1996, 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
autoconf: Undefined macros:
configure.in:2:AC_DEFINE(foo)
configure.in:8:dnl AC_DEFINE
(martin@wobble) ~/src $ grep -A2 'echo in ac_output' configure
default ) echo in ac_output
MYMACRO
dnl AC_DEFINE