Index: gdb/gnulib/update-gnulib.sh |
diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh |
new file mode 100644 |
index 0000000000000000000000000000000000000000..21f0b59999f3eca5f2b5d8cf61970676dcbad589 |
--- /dev/null |
+++ b/gdb/gnulib/update-gnulib.sh |
@@ -0,0 +1,130 @@ |
+#! /bin/sh |
+ |
+# Copyright (C) 2011-2013 Free Software Foundation, Inc. |
+# |
+# This file is part of GDB. |
+# |
+# This program is free software; you can redistribute it and/or modify |
+# it under the terms of the GNU General Public License as published by |
+# the Free Software Foundation; either version 3 of the License, or |
+# (at your option) any later version. |
+# |
+# This program is distributed in the hope that it will be useful, |
+# but WITHOUT ANY WARRANTY; without even the implied warranty of |
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+# GNU General Public License for more details. |
+# |
+# You should have received a copy of the GNU General Public License |
+# along with this program. If not, see <http://www.gnu.org/licenses/>. |
+ |
+# Usage: update-gnulib.sh <path-to-gnulib-repository> |
+# Update our import of gnulib in the GDB source tree. |
+# |
+# This script assumes that it is being called from the gdb/gnulib |
+# subdirectory, and will verify this before proceeding. |
+# |
+# This script will also make a number of other verifications: |
+# . The gnulib version (it should match $GNULIB_COMMIT_SHA1). |
+# . The correct versions of the auto-tools that are used to |
+# regenerate the various scripts and Makefiles are on the PATH. |
+ |
+# The list of gnulib modules we are importing in GDB. |
+IMPORTED_GNULIB_MODULES="\ |
+ fnmatch-gnu \ |
+ frexpl \ |
+ inttypes \ |
+ memmem \ |
+ update-copyright \ |
+ unistd \ |
+ pathmax \ |
+ strstr \ |
+ dirent \ |
+ sys_stat \ |
+" |
+ |
+# The gnulib commit ID to use for the update. |
+GNULIB_COMMIT_SHA1="8d5bd1402003bd0153984b138735adf537d960b0" |
+ |
+# The expected version number for the various auto tools we will |
+# use after the import. |
+AUTOCONF_VERSION="2.64" |
+AUTOMAKE_VERSION="1.11.1" |
+ACLOCAL_VERSION="$AUTOMAKE_VERSION" |
+ |
+if [ $# -ne 1 ]; then |
+ echo "Error: Path to gnulib repository missing. Aborting." |
+ echo "Usage: update-gnulib.sh <path-to-gnulib-repository>" |
+ exit 1 |
+fi |
+gnulib_prefix=$1 |
+ |
+gnulib_tool="$gnulib_prefix/gnulib-tool" |
+ |
+# Verify that the gnulib directory does exist... |
+if [ ! -f "$gnulib_tool" ]; then |
+ echo "Error: Invalid gnulib directory. Cannot find gnulib tool" |
+ echo " ($gnulib_tool)." |
+ echo "Aborting." |
+ exit 1 |
+fi |
+ |
+# Verify that we have the right version of gnulib... |
+gnulib_head_sha1=`cd $gnulib_prefix && git rev-parse HEAD` |
+if [ "$gnulib_head_sha1" != "$GNULIB_COMMIT_SHA1" ]; then |
+ echo "Error: Wrong version of gnulib: $gnulib_head_sha1" |
+ echo " (we expected it to be $GNULIB_COMMIT_SHA1)" |
+ echo "Aborting." |
+ exit 1 |
+fi |
+ |
+# Verify that we are in the gdb/ subdirectory. |
+if [ ! -f ../main.c -o ! -d import ]; then |
+ echo "Error: This script should be called from the gdb/gnulib subdirectory." |
+ echo "Aborting." |
+ exit 1 |
+fi |
+ |
+# Verify that we have the correct version of autoconf. |
+ver=`autoconf --version 2>&1 | head -1 | sed 's/.*) //'` |
+if [ "$ver" != "$AUTOCONF_VERSION" ]; then |
+ echo "Error: Wrong autoconf version: $ver. Aborting." |
+ exit 1 |
+fi |
+ |
+# Verify that we have the correct version of automake. |
+ver=`automake --version 2>&1 | head -1 | sed 's/.*) //'` |
+if [ "$ver" != "$AUTOMAKE_VERSION" ]; then |
+ echo "Error: Wrong automake version ($ver), we need $AUTOMAKE_VERSION." |
+ echo "Aborting." |
+ exit 1 |
+fi |
+ |
+# Verify that we have the correct version of aclocal. |
+ver=`aclocal --version 2>&1 | head -1 | sed 's/.*) //'` |
+if [ "$ver" != "$ACLOCAL_VERSION" ]; then |
+ echo "Error: Wrong aclocal version: $ver. Aborting." |
+ exit 1 |
+fi |
+ |
+# Update our gnulib import. |
+$gnulib_prefix/gnulib-tool --import --dir=. --lib=libgnu \ |
+ --source-base=import --m4-base=import/m4 --doc-base=doc \ |
+ --tests-base=tests --aux-dir=import/extra \ |
+ --no-conditional-dependencies --no-libtool --macro-prefix=gl \ |
+ --no-vc-files \ |
+ $IMPORTED_GNULIB_MODULES |
+if [ $? -ne 0 ]; then |
+ echo "Error: gnulib import failed. Aborting." |
+ exit 1 |
+fi |
+ |
+# Regenerate all necessary files... |
+aclocal -Iimport/m4 && |
+autoconf && |
+autoheader && |
+automake |
+if [ $? -ne 0 ]; then |
+ echo "Error: Failed to regenerate Makefiles and configure scripts." |
+ exit 1 |
+fi |
+ |