From 14b4b1e2cbad9051c733b4efabdb0ee7cf333a15 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Wed, 14 Aug 2013 17:35:24 -0600 Subject: [PATCH] maint: avoid bootstrap warning I noticed that in a fresh checkout, autogen.sh generated the following output, but continued on with execution: autoreconf: running: automake --add-missing --copy --force-missing gnulib/tests/Makefile.am:28: TESTS was already defined in condition TRUE, which includes condition WITH_EXPENSIVE_TESTS ... gnulib/tests/gnulib.mk:28: ... `TESTS' previously defined here gnulib/tests/Makefile.am:19: `gnulib/tests/gnulib.mk' included from here and after the run, line 28 of gnulib.mk lists GNULIB_TESTS, not TESTS. After more investigation, I found that it is because gnulib bootstrap provides two hooks, one before automake, and the other after; we used the one that ran after, and were then rerunning automake ourselves; and the warning was from the first run. But a manual second run is pointless if we use the right hook in the first place. The wrong function name has been latent since commit 38c9440, and we tried to work around it in commit 6cbab7c, but it took commit 70363ea to finally change output enough for me to realize the root cause. * bootstrap.conf (bootstrap_epilogue): Rename... (bootstrap_post_import_hook): ...so that it gets run before automake. Signed-off-by: Eric Blake --- bootstrap.conf | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index a1d1f07a72..68c4a890c5 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -241,13 +241,11 @@ gnulib_extra_files=" " -bootstrap_epilogue() +bootstrap_post_import_hook() { # Change paths in gnulib/tests/gnulib.mk from "../../.." to "../..", - # and make tests conditional by changing "TESTS" to "GNULIB_TESTS", - # then ensure that gnulib/tests/Makefile.in is up-to-date. + # and make tests conditional by changing "TESTS" to "GNULIB_TESTS". m=gnulib/tests/gnulib.mk sed 's,\.\./\.\./\.\.,../..,g; s/^TESTS /GNULIB_TESTS /' $m > $m-t mv -f $m-t $m - ${AUTOMAKE-automake} gnulib/tests/Makefile }