On Mon, Jun 2, 2025, at 3:58 PM, Nick Bowler wrote:
> Automake has a script called "bootstrap", the documentation says it is
> used to generate configure (and other files), presumably it was
> actually used for this purpose, and therefore it should be included.

Automake (and Autoconf)'s bootstrap script is necessary only under very
specific circumstances: you are working from a source tree that does not
include pre-built `configure`, `Makefile.in`, etc (*usually*, but not
necessarily, because you are working from a VCS checkout rather than a
tarball) *and* you do not already have (an older version of) Automake
and Autoconf installed in the build environment.  If you *do* have both
Automake and Autoconf installed already, you should not need the
bootstrap script, you should be able to use `autoreconf -iv` instead.

However, if you do need the bootstrap script, working out how to do by
hand, correctly, what it does, is quite difficult, and therefore, IMO,
we *should* be including the bootstrap script in Automake and Autoconf's
tarball releases.  But we should be making very clear in the README and
so on that tarball users probably don't *need* it.  Maybe we should
underscore that by moving it into build-aux.

[Tangent: according to me, as a very general rule, `autoreconf -iv[f]`
is supposed to be sufficient to regenerate everything that you need to
run `./configure`, except in unusual circumstances like the above.  99+%
of projects should not need or want a custom bootstrap script of any
variety. Almost all existing exceptions should be considered bugs in
autoreconf.  But it's not reasonable to demand that autoreconf
help you out when *autoreconf itself* is not yet installed, hence
autoconf and automake do indeed need bootstrap scripts.]

zw

Reply via email to