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

Reply via email to