From: Akim Demaille Date: Thu, 3 Sep 2009 08:50:32 +0000 (+0200) Subject: bootstrap: fix/improve find_tool. X-Git-Tag: v2.4.1a~23 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/397bb3932f4ec865100d00770f7a86313a390eff bootstrap: fix/improve find_tool. * bootstrap (find_tool): Improve error messages. Fix typo about find_tool_names. --- diff --git a/ChangeLog b/ChangeLog index f6928199..7353ff76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-09-03 Akim Demaille + + bootstrap: fix/improve find_tool. + * bootstrap (find_tool): Improve error messages. + Fix typo about find_tool_names. + 2009-08-27 Eric Blake scan-gram: avoid portability trap with ctype usage. diff --git a/bootstrap b/bootstrap index 4b0abfa6..4d31cbe4 100755 --- a/bootstrap +++ b/bootstrap @@ -142,29 +142,37 @@ vc_ignore=auto # find_tool ENVVAR NAMES... # ------------------------- +# Look for some needed program. Use the value of the ENVVAR if set, +# otherwise look for the first of the NAMES that can be run (i.e., +# supports --version). If found, set ENVVAR to the program name, +# die otherwise. find_tool () { # Find sha1sum, named gsha1sum on MacPorts. find_tool_envvar=$1 shift - if eval test x"\$$find_tool_envvar" = x; then + find_tool_names=$@ + eval "find_tool_res=\$$find_tool_envvar" + if test x"$find_tool_res" = x; then for i do if ($i --version /dev/null 2>&1; then - find_tool_res=$i - break + find_tool_res=$i + break fi done + else + find_tool_error_prefix="\$$find_tool_envvar: " fi if test x"$find_tool_res" = x; then - echo >&2 "$0: $find_tool_name is required" + echo >&2 "$0: one of these is required: $find_tool_names" exit 1 fi ($find_tool_res --version /dev/null 2>&1 || { - echo >&2 "$0: cannot run $find_tool_res --version" + echo >&2 "$0: ${find_tool_error_prefix}cannot run $find_tool_res --version" exit 1 } - eval "$find_tool_envvar=\"$find_tool_res\"" + eval "$find_tool_envvar=\$find_tool_res" eval "export $find_tool_envvar" }