bug-autoconf
[Top][All Lists]
Advanced

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

Re: --gnits, AC_INIT and VERSION


From: Eric Blake
Subject: Re: --gnits, AC_INIT and VERSION
Date: Mon, 30 Nov 2009 06:14:48 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666

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

According to Ralf Wildenhues on 11/29/2009 2:10 PM:
> 
> BTW, and this is why I'm adding bug-autoconf here: Not changing the
> AC_DEFUNs here to m4_define causes Autoconf 2.65 to barf with
>   configure.ac:7: error: m4_divert_push: cannot change diversion to `GROW' 
> inside m4_expand

This has been the case since 2.63b, when m4_expand was taught to handle
more cases.  And your workaround of using m4_define instead of m4_defun is
correct.  The NEWS sort of mentions that these interfaces were affected,
but doesn't give many details about this particular type of failure, does it.

> 
> which seems a bit surprising to me.  What's the NEWS entry that
> described this change in behavior?  Or was that always problematic
> and we only didn't notice earlier by chance?

It's always been problematic to try to guess in advance what a macro will
expand to, while diversions are in play.  It's just that newer versions of
autoconf use m4_expand more than previous versions.  AC_DEFUN/m4_defun
imply the use of diversions to get topological sorting correct, and
AC_INIT pre-expands the version string, so the two don't really mix.  But
m4_define does nothing to diversions, so it is safe for AC_INIT.

- --
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/

iEYEARECAAYFAksTxUgACgkQ84KuGfSFAYBUTwCfSFUX+NprQ7DwMrD0Rv9MYq8U
F30An05IGCH9NdRRKxJkFzj9Z9YzMRwG
=98BL
-----END PGP SIGNATURE-----




reply via email to

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