Hi Stefano, sorry for the delay. On 2012-10-31 11:03 +0100, Stefano Lattarini wrote: > On 10/23/2012 12:59 AM, Nick Bowler wrote: > > I am going to try all these patches to automake/autoconf/libtool soon; I > > will report back with the results! > > > Has anybody had a chance to try these patches? If not, does anyone > object to the idea of committing them anyway, and see how things work > out? It doesn't seem we're near to a release, so there's ample time > to revert these changes before cutting Autoconf 2.70, in case they > won't work as expected, or will reveal unforeseen issues.
I got a chance to try these. I applied the patches on top of latest git autoconf and automake, as of today, and also checked out latest git libtool. I tried converting a package to use these, which originally had ACLOCAL_AMFLAGS = -I m4 -I common/m4. I removed the ACLOCAL_AMFLAGS from Makefile.am and added AC_CONFIG_MACRO_DIRS([m4 common/m4]) to configure.ac. Here are some initial observations: 1) Newlines can be used to separate items in AC_CONFIG_FILES, etc. However, aclocal explodes if you try to do this with AC_CONFIG_MACRO_DIRS: Use of uninitialized value $macro in exists at /tmp/autotools-test/bin/aclocal line 753, <GEN40> line 2. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN40> line 2. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN40> line 2. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN40> line 2. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 760, <GEN40> line 2. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 764, <GEN40> line 2. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 768, <GEN40> line 2. Use of uninitialized value $macro in exists at /tmp/autotools-test/bin/aclocal line 753, <GEN82> line 3. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN82> line 3. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN82> line 3. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 755, <GEN82> line 3. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 760, <GEN82> line 3. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 764, <GEN82> line 3. Use of uninitialized value $macro in string eq at /tmp/autotools-test/bin/aclocal line 768, <GEN82> line 3. This strikes me as extremely odd because the output of autoconf --trace AC_CONFIG_MACRO_DIRS is the same in either case. 2) Git libtool seems broken, as libtoolize is deleting files installed by gnulib-tool into the snippet directory. This breaks the build. I suspect the problem is unrelated to the AC_CONFIG_MACRO_DIRS change, but git libtool was required to test it. 3) Libtoolize still complains that ACLOCAL_AMFLAGS is not set in Makefile.am, but the warning seems harmless and it nevertheless prints that it has picked up AC_CONFIG_MACRO_DIRS. 4) I get a bunch of new warnings from aclocal, of the form: configure.ac:42: warning: DX_EXPORTED_SH is m4_require'd but not m4_defun'd The invocation comes from an AC_REQUIRE([DX_EXPORTED_SH]) and the DX_EXPORTED_SH macro is expected to be picked up by aclocal -- it is, and things seem to work in the end, but the warnings are annoying (and are printed multiple times). Other than requiring a manual workaround for item #2, everything seems to be working at a first glance. I can cook up some test cases for these issues if necessary. These all look like fixable problems to me. Cheers, -- Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)