summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2023-03-12 19:39:47 -0400
committerZack Weinberg <zackw@panix.com>2023-03-12 19:39:47 -0400
commitddf21ca44a598565afb347d24b7f148703b16be6 (patch)
treeebf59f8a46e54f705e6bae34d237d4aafa599931
parentd4566c84a172f3f9638f7928491fe1be14dca4f7 (diff)
downloadautoconf-ddf21ca44a598565afb347d24b7f148703b16be6.tar.gz
bootstrap: Use an absolute path for ACBOOTDIR.
If we use a relative path for ACBOOTDIR, Automake can’t tell the difference between Autoconf’s configure script’s aclocal.m4 inclusions (…/m4/*.m4) and the guts of Autoconf itself (…/lib/autoconf/*.m4) so it puts both of them into $(am__aclocal_m4_deps). This would be harmless, except that the guts-of-Autoconf files are named *relative to $ACBOOTDIR*, which means Make can’t find them later. And this is why a build from a clean git checkout always starts by regenerating aclocal.m4 and configure again. Using an absolute path for ACBOOTDIR gives automake enough of a clue what’s going on (see the heuristic circa 5500 of current automake.in, commented “Some modified versions of autoconf don’t use frozen files…”) for it to produce the same value for $(am__aclocal_m4) that it would if we were running an installed Autoconf.
-rwxr-xr-xbootstrap1
1 files changed, 1 insertions, 0 deletions
diff --git a/bootstrap b/bootstrap
index 50861367..46e7662e 100755
--- a/bootstrap
+++ b/bootstrap
@@ -177,6 +177,7 @@ PACKAGE_TARNAME='<<not available>>'
# Root for temporary partial installation tree.
ACBOOTDIR=$(mktemp -d acboot.XXXXXXXXXX)
+ACBOOTDIR=$(realpath $ACBOOTDIR)
# dosubst options infile outfile -- performs the substitutions that
# config.status would perform on INFILE, creating OUTFILE. INFILE is