-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Ralf Wildenhues on 12/3/2008 1:01 PM: > When I try to `./autogen.sh --quick' CVS gettext, using git Autoconf, > things fall over like this (several instances): > > | gnulib-m4/openmp.m4:29: error: m4_copy: won't overwrite defined macro: > _AC_LANG_OPENMP(C++) > | gnulib-m4/openmp.m4:29: the top level > | autom4te: /usr/bin/m4 failed with exit status: 1 > | aclocal: autom4te failed with exit status: 1 > > I'm not quite sure whether an Autoconf bug/incompatibility is involved > here (therefore the Cc: to bug-autoconf). m4_copy wasn't documented in > earlier Autoconf releases, but there may still have been problematic > semantic changes, I don't know.
There was a semantic change - in 2.63, m4_copy used to only copy the most-recent pushdef definition of the source and overwrite any most-recent definition of the destination; and worse, m4_rename completely threw away the rest of the pushdef stack of the source. The new documented semantics copy the entire pushdef stack of definitions (so that m4_rename doesn't lose definitions), and requires that the destination be undefined (use m4_ifdef([dest],[m4_undefine([dest])]) beforehand if this is a problem). > > Anyway, the following patch seems to fix it. OK to apply? Looks fine to me, but let Bruno chime in before committing. I agree with your approach of fixing gnulib to avoid the problem by not competing when a new-enough autoconf provides the macro, and I don't think we need to change the new semantics of m4_copy. - -- Don't work too hard, make some time for fun as well! Eric Blake [EMAIL PROTECTED] -----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 iEYEARECAAYFAkk26nkACgkQ84KuGfSFAYA9HgCeJusSru85OVUwnCuAptawRJFH azkAn3JUJOPRoyQ0qNQ0016IvP25Vl8j =njNh -----END PGP SIGNATURE-----