From: Zack Weinberg Date: Sun, 12 Mar 2023 23:39:47 +0000 (-0400) Subject: bootstrap: Use an absolute path for ACBOOTDIR. X-Git-Tag: v2.72c~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ddf21ca44a598565afb347d24b7f148703b16be6;p=thirdparty%2Fautoconf.git 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. --- diff --git a/bootstrap b/bootstrap index 50861367..46e7662e 100755 --- a/bootstrap +++ b/bootstrap @@ -177,6 +177,7 @@ PACKAGE_TARNAME='<>' # 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