From: Bruno Haible <bruno@clisp.org>
Date: Sun, 21 Jul 2024 12:02:58 +0000 (+0200)
Subject: bootstrap: Avoid failure when gnulib-tool removed gettext.m4.
X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=f3967bd90989306a8802f00d0b1aa1811f0c1b96;p=gnulib.git

bootstrap: Avoid failure when gnulib-tool removed gettext.m4.

* top/bootstrap-funclib.sh (autogen): When gnulib-tool has removed
gettext.m4 but the package needs gettext.m4, repeat the autopoint and
gnulib-tool invocations.
* build-aux/bootstrap: Regenerated.
---

diff --git a/ChangeLog b/ChangeLog
index 954ccf98de..222eb9581b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2024-07-21  Bruno Haible  <bruno@clisp.org>
+
+	bootstrap: Avoid failure when gnulib-tool removed gettext.m4.
+	* top/bootstrap-funclib.sh (autogen): When gnulib-tool has removed
+	gettext.m4 but the package needs gettext.m4, repeat the autopoint and
+	gnulib-tool invocations.
+	* build-aux/bootstrap: Regenerated.
+
 2024-07-20  Bruno Haible  <bruno@clisp.org>
 
 	stack-trace: Don't use libasan by default.
diff --git a/build-aux/bootstrap b/build-aux/bootstrap
index d78c8c3064..3758683da4 100755
--- a/build-aux/bootstrap
+++ b/build-aux/bootstrap
@@ -37,7 +37,7 @@ medir=`dirname "$me"`
 
 # A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
 
-scriptlibversion=2024-06-29.23; # UTC
+scriptlibversion=2024-07-21.12; # UTC
 
 # Copyright (C) 2003-2024 Free Software Foundation, Inc.
 #
@@ -1255,6 +1255,20 @@ autogen()
     $gnulib_tool $gnulib_tool_options --import $gnulib_modules \
       || die "gnulib-tool failed"
 
+    if test $with_gettext = yes && test ! -f $m4_base/gettext.m4; then
+      # The gnulib-tool invocation has removed $m4_base/gettext.m4, that the
+      # AUTOPOINT invocation had installed. This can occur when the gnulib
+      # module 'gettext' was previously present but is now not present any more.
+      # Repeat the AUTOPOINT invocation and the gnulib-tool invocation.
+
+      echo "$0: $AUTOPOINT --force"
+      $AUTOPOINT --force || return
+
+      echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
+      $gnulib_tool $gnulib_tool_options --import $gnulib_modules \
+        || die "gnulib-tool failed"
+    fi
+
     for file in $gnulib_files; do
       symlink_to_dir "$GNULIB_SRCDIR" $file \
         || die "failed to symlink $file"
diff --git a/top/bootstrap-funclib.sh b/top/bootstrap-funclib.sh
index 226bc8f086..b29e2b49e1 100644
--- a/top/bootstrap-funclib.sh
+++ b/top/bootstrap-funclib.sh
@@ -1,6 +1,6 @@
 # A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
 
-scriptlibversion=2024-07-04.10; # UTC
+scriptlibversion=2024-07-21.12; # UTC
 
 # Copyright (C) 2003-2024 Free Software Foundation, Inc.
 #
@@ -1218,6 +1218,20 @@ autogen()
     $gnulib_tool $gnulib_tool_options --import $gnulib_modules \
       || die "gnulib-tool failed"
 
+    if test $with_gettext = yes && test ! -f $m4_base/gettext.m4; then
+      # The gnulib-tool invocation has removed $m4_base/gettext.m4, that the
+      # AUTOPOINT invocation had installed. This can occur when the gnulib
+      # module 'gettext' was previously present but is now not present any more.
+      # Repeat the AUTOPOINT invocation and the gnulib-tool invocation.
+
+      echo "$0: $AUTOPOINT --force"
+      $AUTOPOINT --force || return
+
+      echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
+      $gnulib_tool $gnulib_tool_options --import $gnulib_modules \
+        || die "gnulib-tool failed"
+    fi
+
     for file in $gnulib_files; do
       symlink_to_dir "$GNULIB_SRCDIR" $file \
         || die "failed to symlink $file"