[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: autoconf-2.53 problems
From: |
Alexandre Duret-Lutz |
Subject: |
Re: autoconf-2.53 problems |
Date: |
Tue, 16 Apr 2002 14:51:53 +0200 |
User-agent: |
Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i386-debian-linux-gnu) |
>>> "Hallvard" == Hallvard B Furuseth <address@hidden> writes:
Hallvard> autoconf 2.53 does not remove directory autom4te.cache/.
This is a cache used to speed up following runs of Autoconf and
siblings.
Hallvard> Also, it complains
Hallvard> aclocal.m4:3779: error: m4_defn: undefined macro:
_m4_divert_diversion
Hallvard> autoconf/types.m4:289: AM_TYPE_PTRDIFF_T is expanded from...
Hallvard> aclocal.m4:3779: the top level
Hallvard> with the ./aclocal.m4 below.
Yep, it's documented:
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 name 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 by 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
$
Hallvard> Finally, README and BUGS refer bug reports to
Hallvard> http://sources.redhat.com/cgi-bin/gnatsweb.pl?database=autoconf
Hallvard> which says:
Hallvard> Error: Could not change to database (/sourceware/gnats/autoconf-db):
Hallvard> does not exist.
Thanks, this is already fixed in CVS Autoconf.
(The right URL is http://bugs.gnu.org/cgi-bin/gnatsweb.pl?database=autoconf)
--
Alexandre Duret-Lutz