Dear Bootstrappers! On 17 Jan 2012, at 04:03, Jim Meyering wrote: > Eric Blake wrote: >> Next problem - autoconf 2.59 (alas, RHEL 5 is still stuck on ancient >> autotools) didn't understand 'autoreconf --no-recursive'. I'm pushing this: >> > ... >> + bootstrap: cater to autoconf 2.59 >> + * build-aux/bootstrap (AUTORCONF): Work even when --no-recursive >> + is not available. > ... > > Typo: s/AUTORCONF/AUTORECONF/ > Doesn't really matter, but I fixed it in the ChangeLog. > >> diff --git a/build-aux/bootstrap b/build-aux/bootstrap >> index 69bd960..2a409fc 100755 >> --- a/build-aux/bootstrap >> +++ b/build-aux/bootstrap >> @@ -820,10 +820,14 @@ find "$m4_base" "$source_base" \ >> -type l -xtype l -delete > /dev/null 2>&1 >> >> # Tell autoreconf not to invoke autopoint or libtoolize; they were run >> above. >> +no_recursive= >> +case $($AUTORECONF --help) in >> + *--no-recursive*) no_recursive=--no-recursive;; >> +esac >> echo "running: AUTOPOINT=true LIBTOOLIZE=true " \ >> - "$AUTORECONF --verbose --install --no-recursive -I $m4_base >> $ACLOCAL_FLAGS" >> + "$AUTORECONF --verbose --install $no_recursive -I $m4_base >> $ACLOCAL_FLAGS" >> AUTOPOINT=true LIBTOOLIZE=true \ >> - $AUTORECONF --verbose --install --no-recursive -I $m4_base >> $ACLOCAL_FLAGS \ >> + $AUTORECONF --verbose --install $no_recursive -I $m4_base >> $ACLOCAL_FLAGS \ >> || exit 1 > > Thanks for the fix. > In the interests of documenting-in-code (not just in logs) > and not letting such a kludge hang around forever, I've added comments:
Just curious why you are passing --no-recursive to autoreconf from gnulib bootstrap, since that means running bootstrap from the top-level doesn't actually bootstrap the entire project! Does this mean that users of gnulib bootstrap with subprojects have to keep several bootstrap/bootstrap.conf files and manually walk the tree calling each one?!? (another shameless plug - "saner bootstrap" doesn't suffer from any of the recent bugs being fixed in gnulib bootstrap as far as I can tell, and it also bootstraps the whole project by default, including subprojects, so that there is no need to step into each subproject and bootstrap it by hand. Libtool's bootstrap.conf is set up to automatically descend into 10 subprojects, and adds additional options to bootstrap to manage skipping some or all of those when they are known to be up to date already. I'll stop reminding everyone that saner bootstrap works much better and is much faster, cleaner and more configurable and extensible than gnulib bootstrap after this, and try to make time to resubmit the files needed to upgrade it later this month) Cheers, -- Gary V. Vaughan (gary AT gnu DOT org)