On 2/5/21 7:34 AM, Zack Weinberg wrote:
it does
involve some relatively invasive changes to the actual code, notably
rewriting the ‘autoconf’ driver program in Perl so the bootstrap
script doesn’t have to know how to generate M4sh scripts
All worth it in my opinion. Thanks for doing that.
The procedure for building Autoconf from a git checkout is a little
awkward, involving building it once, then using the just-built
autoconf to regenerate the configure script in the source directory,
then throwing away the entire first build and doing it over again, and
only then is the test suite
Of all the installed programs (autoconf, autoheader, autom4te,
autoreconf, autoscan, autoupdate, ifnames) autoconf is the only one
that is a shell script instead of a Perl script. This means it has to
do a lot of fiddly quoting and requoting to assemble an autom4te
command line, it doesn’t get to
This simplifies the Makefile a bit and also paves the way for a
bootstrap script (replacing the process of re-running autoreconf with
the just-built autoconf) which will be able to cope with generated
files that get installed in @pkgdatadir@ but not in @pkgdatadir@/m4sugar.
* lib/version.in: New f
The bootstrap script generates the same files ‘autoreconf -vi’ would,
in a normal package, but it uses autoconf *from the git sources* to do
it. This means people building from git do not need autoconf to be
installed already. More importantly, it eliminates the extra steps
when building from git