[Top][All Lists]

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

Re: installable gnulib library

From: Gary V. Vaughan
Subject: Re: installable gnulib library
Date: Sat, 9 Oct 2010 19:45:57 +0700

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

Gary V. Vaughan (address@hidden)

Attachment: PGP.sig
Description: This is a digitally signed message part

reply via email to

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