]> code.delx.au - gnu-emacs/blobdiff - autogen.sh
doh, fixing year in ChangeLog entries introduced by last two commits
[gnu-emacs] / autogen.sh
index 255a4d75ba6257c6bb6a083ae198932ca4d1f193..c3ae1d766df081cb9554e026fbfbe5e15a879d3a 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 #!/bin/sh
-### autogen.sh - tool to help build Emacs from a bzr checkout
+### autogen.sh - tool to help build Emacs from a repository checkout
 
 
-## Copyright (C) 2011-2014 Free Software Foundation, Inc.
+## Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
 ## Author: Glenn Morris <rgm@gnu.org>
 ## Maintainer: emacs-devel@gnu.org
 
 ## Author: Glenn Morris <rgm@gnu.org>
 ## Maintainer: emacs-devel@gnu.org
@@ -23,8 +23,8 @@
 
 ### Commentary:
 
 
 ### Commentary:
 
-## The Emacs bzr repository does not include the configure script
-## (and associated helpers).  The first time you fetch Emacs from bzr,
+## The Emacs repository does not include the configure script (and
+## associated helpers).  The first time you fetch Emacs from the repo,
 ## run this script to generate the necessary files.
 ## For more details, see the file INSTALL.REPO.
 
 ## run this script to generate the necessary files.
 ## For more details, see the file INSTALL.REPO.
 
@@ -145,7 +145,7 @@ if [ x"$missing" != x ]; then
 
     cat <<EOF
 
 
     cat <<EOF
 
-Building Emacs from Bzr requires the following specialized programs:
+Building Emacs from the repository requires the following specialized programs:
 EOF
 
     for prog in $progs; do
 EOF
 
     for prog in $progs; do
@@ -194,7 +194,7 @@ this script.
 If you know that the required versions are in your PATH, but this
 script has made an error, then you can simply run
 
 If you know that the required versions are in your PATH, but this
 script has made an error, then you can simply run
 
-autoreconf -i -I m4
+autoreconf -fi -I m4
 
 instead of this script.
 
 
 instead of this script.
 
@@ -204,18 +204,59 @@ EOF
     exit 1
 fi
 
     exit 1
 fi
 
-echo "Your system has the required tools, running autoreconf..."
+echo 'Your system has the required tools.'
+echo "Running 'autoreconf -fi -I m4' ..."
 
 
 ## Let autoreconf figure out what, if anything, needs doing.
 ## Use autoreconf's -f option in case autoreconf itself has changed.
 
 
 ## Let autoreconf figure out what, if anything, needs doing.
 ## Use autoreconf's -f option in case autoreconf itself has changed.
-autoreconf -f -i -I m4 || exit $?
+autoreconf -fi -I m4 || exit $?
 
 ## Create a timestamp, so that './autogen.sh; make' doesn't
 ## cause 'make' to needlessly run 'autoheader'.
 echo timestamp > src/stamp-h.in || exit
 
 
 ## Create a timestamp, so that './autogen.sh; make' doesn't
 ## cause 'make' to needlessly run 'autoheader'.
 echo timestamp > src/stamp-h.in || exit
 
-echo "You can now run \`./configure'."
+## Install Git hooks, if using Git.
+if test -d .git/hooks; then
+    tailored_hooks=
+    sample_hooks=
+
+    for hook in commit-msg pre-commit; do
+       cmp build-aux/git-hooks/$hook .git/hooks/$hook >/dev/null 2>&1 ||
+       tailored_hooks="$tailored_hooks $hook"
+    done
+    for hook in applypatch-msg pre-applypatch; do
+       cmp .git/hooks/$hook.sample .git/hooks/$hook >/dev/null 2>&1 ||
+       sample_hooks="$sample_hooks $hook"
+    done
+
+    if test -n "$tailored_hooks$sample_hooks"; then
+       echo "Installing git hooks..."
+
+       case `cp --help 2>/dev/null` in
+         *--backup*--verbose*)
+           cp_options='--backup=numbered --verbose';;
+         *)
+           cp_options='-f';;
+       esac
+
+       if test -n "$tailored_hooks"; then
+           for hook in $tailored_hooks; do
+               cp $cp_options build-aux/git-hooks/$hook .git/hooks || exit
+               chmod a-w .git/hooks/$hook || exit
+           done
+       fi
+
+       if test -n "$sample_hooks"; then
+           for hook in $sample_hooks; do
+               cp $cp_options .git/hooks/$hook.sample .git/hooks/$hook || exit
+               chmod a-w .git/hooks/$hook || exit
+           done
+       fi
+    fi
+fi
+
+echo "You can now run './configure'."
 
 exit 0
 
 
 exit 0