bootstrap: detect tools required by gnulib-tool
authorEric Blake <eblake@redhat.com>
Wed, 7 Dec 2011 16:51:21 +0000 (09:51 -0700)
committerEric Blake <eblake@redhat.com>
Wed, 7 Dec 2011 20:55:08 +0000 (13:55 -0700)
List tools needed by gnulib-tool, whether or not the project
also requires the tools in cfg.mk $buildreq.  In particular,
detect if the project uses gnulib-local diffs, in which case
patch is a prerequisite.

* build-aux/bootstrap (buildreq): Provide minimum implicit
dependencies.
* DEPENDENCIES: Mention patch as a prereq.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
DEPENDENCIES
build-aux/bootstrap

index 1a1fccb..455bb6a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-12-07  Eric Blake  <eblake@redhat.com>
+
+       bootstrap: detect tools required by gnulib-tool
+       * build-aux/bootstrap (buildreq): Provide minimum implicit
+       dependencies.
+       * DEPENDENCIES: Mention patch as a prereq.
+
 2011-12-04  Bruno Haible  <bruno@clisp.org>
 
        sethostname: Port to Windows platforms.
index f025ab2..91cd6c5 100644 (file)
@@ -81,6 +81,16 @@ at any time.
     http://ftp.gnu.org/gnu/diffutils/
     ftp://ftp.gnu.org/gnu/diffutils/
 
+* The patch utility 'patch'.
+  + Mandatory if you use gnulib-local diffs. Using the platform's native
+    utilities gives good portability exposure, but you can also use GNU
+    patch.
+  + Homepage:
+    http://www.gnu.org/software/patch/
+  + Download:
+    http://ftp.gnu.org/gnu/patch/
+    ftp://ftp.gnu.org/gnu/patch/
+
 * Grep.
   + Mandatory. Using the platform's native grep gives good portability
     exposure, but you can also use GNU grep.
index f76db9a..3c39f4a 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2011-08-11.17; # UTC
+scriptversion=2011-12-07.20; # UTC
 
 # Bootstrap this package from checked-out sources.
 
@@ -473,6 +473,26 @@ if test $use_libtool = 1; then
   find_tool LIBTOOLIZE glibtoolize libtoolize
 fi
 
+case $buildreq in
+  automake) ;;
+  *) buildreq="automake 1.9
+$buildreq" ;;
+esac
+case $buildreq in
+  autoconf) ;;
+  *) buildreq="autoconf 2.59
+$buildreq" ;;
+esac
+if test ! -d "$local_gl_dir" \
+    || find "$local_gl_dir" -name '*.diff' -exec false {} +; then
+  :
+else
+  case $buildreq in
+    patch) ;;
+    *) buildreq="patch -
+$buildreq" ;;
+  esac
+fi
 if ! printf "$buildreq" | check_versions; then
   echo >&2
   if test -f README-prereq; then