diff options
author | Akim Demaille <demaille@gostai.com> | 2009-09-03 10:50:32 +0200 |
---|---|---|
committer | Akim Demaille <demaille@gostai.com> | 2009-09-03 11:10:48 +0200 |
commit | 3710dd02e2ade48dc1ad17fad654daef78cf6d6e (patch) | |
tree | 40619ff15e752de056cfc33e06d8efdec8c94ff4 /bootstrap | |
parent | 9852b61c2b87f619117e4a170c7c34b29a8afc59 (diff) | |
download | bison-3710dd02e2ade48dc1ad17fad654daef78cf6d6e.tar.gz |
bootstrap: fix/improve find_tool.
* bootstrap (find_tool): Improve error messages.
Fix typo about find_tool_names.
(cherry-picked from 1deef26d0ca3df3d1c845a8cf41fc0cdef009d79).
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -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) >/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) >/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" } |