summaryrefslogtreecommitdiff
path: root/autogen.sh
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-03-16 21:08:31 +0100
committerJim Meyering <meyering@redhat.com>2010-03-16 21:42:56 +0100
commitbe7780b035c19c53127e01ac1902bfd48a1a9f35 (patch)
tree03e228c2ec3175b5c731380c41984577c653739d /autogen.sh
parentfe2f1ba1dbf692bc59236a498e0e96fbd56ba595 (diff)
downloadlibvirt-be7780b035c19c53127e01ac1902bfd48a1a9f35.tar.gz
do not require two ./autogen.sh runs to permit "make"
* autogen.sh (bootstrap_hash): New function. Running bootstrap may update the gnulib SHA1, yet we were computing t=$(git submodule status ...) *prior* to running bootstrap, and then recording that sometimes-stale value in the stamp file upon a successful bootstrap run. That would require two (lengthy!) bootstrap runs to update the stamp file.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh21
1 files changed, 14 insertions, 7 deletions
diff --git a/autogen.sh b/autogen.sh
index ff946787af..b93cdbae65 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -62,20 +62,27 @@ else
fi
fi
+# Compute the hash we'll use to determine whether rerunning bootstrap
+# is required. The first is just the SHA1 that selects a gnulib snapshot.
+# The second ensures that whenever we change the set of gnulib modules used
+# by this package, we rerun bootstrap to pull in the matching set of files.
+bootstrap_hash()
+{
+ git submodule status | sed 's/^[ +-]//;s/ .*//'
+ git hash-object bootstrap.conf
+}
+
# Ensure that whenever we pull in a gnulib update or otherwise change to a
# different version (i.e., when switching branches), we also rerun ./bootstrap.
curr_status=.git-module-status
-t=$(git submodule status|sed 's/^[ +-]//;s/ .*//'; \
- git hash-object bootstrap.conf)
+t=$(bootstrap_hash)
if test "$t" = "$(cat $curr_status 2>/dev/null)"; then
: # good, it's up to date, all we need is autoreconf
autoreconf -if
else
- echo running bootstrap...
- ./bootstrap && echo "$t" > $curr_status || {
- echo "Failed to bootstrap gnulib, please investigate."
- exit 1;
- }
+ echo running bootstrap...
+ ./bootstrap && bootstrap_hash > $curr_status \
+ || { echo "Failed to bootstrap gnulib, please investigate."; exit 1; }
fi
cd "$THEDIR"