On 9 Oct 2010, at 15:13, Ralf Wildenhues wrote: > Hello Gary, Hallo Ralf,
> * Gary V. Vaughan wrote on Sat, Oct 09, 2010 at 05:48:04AM CEST: >> I had to autoreconf to get rid of a ton of spurious configure time errors >> on my Mac... oddly, the first autoreconf threw up a ton of unset AC_LANG >> warnings, but when I reran autorecong to log them for later investigation >> - they disappeared. >> >> ...ah, that's because autoreconf is still running aclocal before libtoolize, >> Wow!, I thought that had been fixed a long time ago. It kinda-sorta works >> because the libtool macros are m4_included from the generated aclocal.m4, >> and libtoolize overwrites the out-of-date libtool macro files before >> autoconf picks them up. Oh well... aclocal is going away eventually anyway. > > autoreconf runs aclocal to find out by tracing whether AC_PROG_LIBTOOL > is used, then runs libtoolize if needed, then runs aclocal again if > needed. I think that is just about the right way to do it, barring > extra warnings. I stand corrected. In this case, however, there was no second aclocal run, although I suppose technically it was not required. Is it not the case that autoreconf of a package to replace buggy macro files that the first aclocal could fail catastrophically? And if that happens, can autoconf recover? > I haven't looked at your recently posted tracing script for whether that > does this much differently, but I'm guessing not. Actually yes, very differently. And IMHO much more robustly than either a spurious aclocal run with potentially old/missing/broken macros in place, AND more robustly that running sed. The new method I'm advocating uses m4 with a specially tuned mini-acgeneral.m4 and with include macros disabled to avoid exactly the problems I just described to provide accurate trace results to determine which bootstrap tools need to be run - and in the correct order. In that thread, I suggested that Autoconf would benefit from adopting this method with the caveat that the mini-acgeneral.m4 would need to be maintained and tuned to allow tracing of interesting macros required to bootstrap robustly. With my rewrite of the gnulib bootstrap script, also posted recently due to lack of time to finish all the testing I would have liked anytime some, autoreconf *is* called under normal circumstances, but by default it first uses my new trace method to discover which pre-aclocal tools should be run first... and then effectively turns off autopoint and libtoolize by exporting AUTOPOINT=true and LIBTOOLIZE=true in autoreconf's environment. Of course all that can be overridden in bootstrap.conf as preferred by any project that adopts the bootstrap script. > Cheers, > Ralf Cheers, -- Gary V. Vaughan (g...@gnu.org)
PGP.sig
Description: This is a digitally signed message part