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