[PATCH 1/2] update-gnulib.sh: work around aclocal warning with Perl >= 5.16

Pedro Alves
2015-04-08T17:19:52Z

gdb/ChangeLog:
2015-04-08 Pedro Alves <palves@redhat.com>

* gnulib/update-gnulib.sh (aclocal version check): Filter out
"called too early to check prototype".
---
gdb/gnulib/update-gnulib.sh | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
mode change 100644 => 100755 gdb/gnulib/update-gnulib.sh

diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
old mode 100644
new mode 100755
index 5c7238f..957c89a
--- a/gdb/gnulib/update-gnulib.sh
+++ b/gdb/gnulib/update-gnulib.sh
@@ -110,7 +110,23 @@ if [ "$ver" != "$AUTOMAKE_VERSION" ]; then
fi

# Verify that we have the correct version of aclocal.
-ver=`aclocal --version 2>&1 | head -1 | sed 's/.*) //'`
+#
+# The grep below is needed because Perl >= 5.16 dumps a "called too
+# early to check prototype" warning when running aclocal 1.11.1. This
+# causes trouble below, because the warning is the first line output
+# by aclocal, resulting in:
+#
+# $ sh ./update-gnulib.sh ~/src/gnulib/src/
+# Error: Wrong aclocal version: called too early to check prototype at /opt/automake-1.11.1/bin/aclocal line 617.. Aborting.
+#
+# Some distros carry an automake patch for that:
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=aclocal-function-prototypes.debdiff;att=1;bug=752784
+#
+# But since we prefer pristine FSF versions of autotools, work around
+# the issue here. This can be removed later when we bump the required
+# automake version.
+#
+ver=`aclocal --version 2>&1 | grep -v "called too early to check prototype" | head -1 | sed 's/.*) //'`
if [ "$ver" != "$ACLOCAL_VERSION" ]; then
echo "Error: Wrong aclocal version: $ver. Aborting."
exit 1
--
1.9.3