# HG changeset patch # User Eric Blake # Date 1323276681 25200 # Node ID 2f911f94bb4f28c6f655755b2c87b23dd781f786 # Parent 034184e9b5ea777052f55fbabffe957ce39c9e12 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 diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-12-07 Eric Blake + + 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 sethostname: Port to Windows platforms. diff --git a/DEPENDENCIES b/DEPENDENCIES --- 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. diff --git a/build-aux/bootstrap b/build-aux/bootstrap --- 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