Avoid using the nonstandard "which" command

This command isn't a standard tool; different distributions have
different implementations, and e.g. Fedora doesn't ship it by
default.

Settle on using "command -v $tool >/dev/null" for tests about whether
a tool is available. (We could also use "hash $tool 2>/dev/null" as we
already had in build-all.sh, but settling on using "command -v"
everywhere, for consistency and simplicity.)
This commit is contained in:
Martin Storsjö committed 2022-08-02 15:17:24 +03:00
1 parent f2ebd644ae
commit 3d4e36806a
11 files changed
+15 -15

No files matched your search

+4 -4
View File
@@ -125,7 +125,7 @@ fi
[ -z "$CHECKOUT_ONLY" ] || exit 0
if [ -n "$(which ninja)" ]; then
if command -v ninja >/dev/null; then
CMAKE_GENERATOR="Ninja"
NINJA=1
BUILDCMD=ninja
@@ -165,8 +165,8 @@ if [ -n "$HOST" ]; then
break
fi
done
if [ -z "$native" ] && [ -n "$(which llvm-tblgen)" ]; then
native="$(dirname $(which llvm-tblgen))"
if [ -z "$native" ] && command -v llvm-tblgen >/dev/null; then
native="$(dirname $(command -v llvm-tblgen))"
suffix=""
if [ -x "$native/llvm-tblgen.exe" ]; then
suffix=".exe"
@@ -191,7 +191,7 @@ if [ -n "$HOST" ]; then
CMAKEFLAGS="$CMAKEFLAGS -DCLANG_PSEUDO_GEN=$native/clang-pseudo-gen$suffix"
fi
fi
CROSS_ROOT=$(cd $(dirname $(which $HOST-gcc))/../$HOST && pwd)
CROSS_ROOT=$(cd $(dirname $(command -v $HOST-gcc))/../$HOST && pwd)
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_FIND_ROOT_PATH=$CROSS_ROOT"
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER"
CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY"