changeset 16157:2f911f94bb4f

bootstrap: detect tools required by gnulib-tool 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>
author Eric Blake <eblake@redhat.com>
date Wed, 07 Dec 2011 09:51:21 -0700
parents 034184e9b5ea
children 56080b94b075
files ChangeLog DEPENDENCIES build-aux/bootstrap
diffstat 3 files changed, 38 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -81,6 +81,16 @@
     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.
--- a/build-aux/bootstrap
+++ b/build-aux/bootstrap
@@ -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 @@
   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