bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LT_PREREQ breaks autoreconf


From: Eric Blake
Subject: Re: LT_PREREQ breaks autoreconf
Date: Sat, 13 Dec 2008 09:53:20 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.18) Gecko/20081105 Thunderbird/2.0.0.18 Mnenhy/0.7.5.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[adding bug-automake]

According to Ralf Wildenhues on 12/13/2008 2:47 AM:
> Hmm; I can reproduce this with Autoconf 2.63 but not with current git,

Yes, current git changed things so that even prior to m4_init (called
under the hood by AC_INIT), there is a current diversion.  But in autoconf
2.63 and earlier, there is no current diversion until after m4_init
establishes one, so anything that attempts to manipulate diversions will
fail.  The problem is that LT_PREREQ expands to a use of m4_fatal, and
m4_fatal tries to dump the current diversion stack, but because m4_init
has not been called, there is no current diversion stack.

> with a test case of:
>   LT_PREREQ([2.2.6])
>   AC_INIT
>   LT_INIT
> 
> It works in any case when I move LT_PREREQ after AC_INIT,

That is the correct fix.  AC_PREREQ is special, as it is the only macro
documented in the autoconf macro to work prior to AC_INIT.

> 
> Autoconf questions: Is the failure due to a bug in Autoconf 2.63
> diversion handling, and if yes, where is it fixed (NEWS and
> ChangeLog don't seem to indicate)?

It sounds like I should add a NEWS entry that autoconf git is a bit more
forgiving of using diversions, and in particular, m4_fatal, prior to
m4_init.  It looks like this has always been an autoconf limitation (ie.
not a regression in 2.63, but present even in earlier versions), and that
the fix in autoconf.git is a serendipitous side-effect improvement from
Paolo and my efforts to make m4_fatal faster.  At any rate, I think that
autoconf still has the right to recommend that the user invoke AC_INIT
prior to any other macros.

> 
> Next question, is there a simple way Libtool can work around the
> 2.63 bug?

I'm trying to play with it.  It is not autoconf, but aclocal that is
crashing.  I still haven't isolated why aclocal is messing with diversions
when LT_PREREQ occurs prior to AC_INIT, but maybe the real fix lies in
automake, rather than libtool?

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAklD6IAACgkQ84KuGfSFAYDMCACcCET5tHwlq9jEvjRDo+HelbKT
r0UAn0f22954Tm3svYehiTGUKrh6gPYB
=h9vd
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]