Howdy Bruce! On Wed, Apr 06, 2011 at 08:41:43AM -0700, Bruce Korb wrote: > On 04/05/11 21:06, Gary V. Vaughan wrote: > >AFAICT, very little (if anything) remains to be done short of actually > >commiting it to the repository. I did stall on the horrid slurp function > >shared among a few projects with slight divergences, but that is an > >issue for bootstrap.conf files (if they haven't been sanitized already). > > I'd suggest a couple of tweaks: > > 1. gnulib_non_module_files ought to be dependent upon not being set > by bootstrap.conf (as is the case), but also $build_aux. > if configure.ac or bootstrap.conf changes it, this variable will > not be correct.
Could you explain that in a bit more detail, I don't yet understand what you mean. > 2. Perhaps just my preference, but the embedded README/usage/help > text feels like too much clutter that belongs in associated > doc files rather than filling the first several hundred lines > of the script. :) Oh, absolutely... that was never meant to live in the file, but to be moved into gnulib/doc when adopted into upstream. But to make sure the README and the script itself didn't get separated or mismatched during development, I just parked it inside the script until it finds a better home. Either way, I think this is much better documented and carefully designed than the, ahem, organically grown incumbent gnulib bootstrap script. All IMHO of course, and I'm somewhat biased :) > Clearly a well designed script. I vote for sanity checking the thing > and then plugging it in. :) Thanks, Gary. Thanks for the vote of confidence Bruce... it would surely be nice to see someone get some mileage out of the suprising amount of time it took me to write the thing! Especially the generalisation of neat stuff like this (many of these are automatically intuited from macro invocations in configure.ac and aclocal.m4 and dependencies): Moloch:~ gary$ cd Devo/coreutils--master--0 Moloch:coreutils--master--0 gary$ ./bootstrap bootstrap: `./bootstrap' differs from `./gnulib/build-aux/bootstrap', bootstrap: please consider adopting the canonical version from gnulib. bootstrap: Error: `xz' not found bootstrap: Error: `autoconf' version == 2.61 is too old bootstrap: `autoconf' version >= 2.62 is required bootstrap: Error: `automake' version == 1.10 is too old bootstrap: `automake' version >= 1.11.1 is required bootstrap: Error: `gettext' not found bootstrap: Error: README-prereq explains how to obtain these bootstrap programs: bootstrap: Program Min_version Homepage bootstrap: ----------------------------------------------------------- bootstrap: bison - http://www.gnu.org/software/bison bootstrap: git 1.4.4 http://git-scm.com bootstrap: gperf - http://www.gnu.org/software/gperf bootstrap: makeinfo - http://www.gnu.org/software/texinfo bootstrap: perl 5.5 http://perl.com bootstrap: rsync - http://www.samba.org/rsync bootstrap: tar - http://www.gnu.org/software/tar bootstrap: xz - http://tukaani.org/xz bootstrap: autoconf 2.62 http://www.gnu.org/software/autoconf bootstrap: automake 1.11.1 http://www.gnu.org/software/automake bootstrap: gettext 0.18 http://www.gnu.org/software/gettext bootstrap: ----------------------------------------------------------- And I'm convinced that I invented a much better method for bootstrap level tools to parse m4 for interesting macro values than feeding all that m4 code to sed, and crossing your fingers: My method uses m4 to parse the m4, and is thus robust to m4 expansions anywhere at all in the file, including things like using m4_esyscmd to call git-version- gen... as long as m4 would get the right values when autoconf compiles configure.ac into configure, so this method will pick up the correct argument values during tracing for use in the bootstrap script. See the body of func_extract_trace for the right way to do this - IIRC I discussed with Ralf and Bruno briefly at the time I was writing it, but I can't find the threads right now. I'd like to port it to libtoolize too... only I became tired of the ongoing battle to get any of my patches accepted into the tree of late, so I'll need a lot more energy before I try to climb that particular mountain next time. ;) development again. Anyway, I'm rambling... If there are any non-time-sucking things I can do to help shepherd this patch into gnulib, I would be very happy to see it adopted, to encourage its use in gnulib client projects, and to help maintain it. Cheers, -- Gary V. Vaughan (gary AT gnu DOT org)
pgpUgQwhZvg0y.pgp
Description: PGP signature
