make: support: use command -v' instead of which'

`which' has been discontinued after 2.21 release in 2015 due this (git
repository is empty [1]) and version shipped in Debian produces warning
[2]:

/usr/bin/which: this version of `which' is deprecated; use `command -v' in scripts instead.

`command is POSIX [3] and supported on all common shells (bash, zsh,
dash, busybox sh, mksh).

Patch tested on dash as the default shell.

[1] https://git.savannah.gnu.org/cgit/which.git
[2] 3a8dd10b45
[3] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Petr Vorel
2021-09-21 22:51:11 +02:00
committed by Arnout Vandecappelle (Essensium/Mind)
parent f71e240229
commit ca6a2907c2
11 changed files with 35 additions and 35 deletions

View File

@@ -58,7 +58,7 @@ fi
check_prog_host()
{
prog="$1"
if ! which $prog > /dev/null ; then
if ! command -v $prog > /dev/null ; then
echo >&2
echo "You must install '$prog' on your build machine" >&2
exit 1
@@ -75,7 +75,7 @@ check_prog_host "sed"
check_prog_host "/usr/bin/file"
# Check make
MAKE=$(which make 2> /dev/null)
MAKE=$(command -v make 2> /dev/null)
if [ -z "$MAKE" ] ; then
echo
echo "You must install 'make' on your build machine";
@@ -96,9 +96,9 @@ if [ $MAKE_MAJOR -lt 3 ] || [ $MAKE_MAJOR -eq 3 -a $MAKE_MINOR -lt 81 ] ; then
fi;
# Check host gcc
COMPILER=$(which $HOSTCC_NOCCACHE 2> /dev/null)
COMPILER=$(command -v $HOSTCC_NOCCACHE 2> /dev/null)
if [ -z "$COMPILER" ] ; then
COMPILER=$(which cc 2> /dev/null)
COMPILER=$(command -v cc 2> /dev/null)
fi;
if [ -z "$COMPILER" ] ; then
echo
@@ -122,9 +122,9 @@ if [ $COMPILER_MAJOR -lt 4 -o $COMPILER_MAJOR -eq 4 -a $COMPILER_MINOR -lt 8 ] ;
fi;
# check for host CXX
CXXCOMPILER=$(which $HOSTCXX_NOCCACHE 2> /dev/null)
CXXCOMPILER=$(command -v $HOSTCXX_NOCCACHE 2> /dev/null)
if [ -z "$CXXCOMPILER" ] ; then
CXXCOMPILER=$(which c++ 2> /dev/null)
CXXCOMPILER=$(command -v c++ 2> /dev/null)
fi
if [ -z "$CXXCOMPILER" ] ; then
@@ -164,7 +164,7 @@ fi
# Check that a few mandatory programs are installed
missing_progs="no"
for prog in perl tar wget cpio unzip rsync bc ${DL_TOOLS} ; do
if ! which $prog > /dev/null ; then
if ! command -v $prog > /dev/null ; then
echo "You must install '$prog' on your build machine";
missing_progs="yes"
if test $prog = "svn" ; then
@@ -198,7 +198,7 @@ if [ "${PATCH_MAJOR}" -lt 2 ] || [ "${PATCH_MAJOR}" -eq 2 -a "${PATCH_MINOR}" -l
fi
if grep ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG > /dev/null; then
if ! which locale > /dev/null ; then
if ! command -v locale > /dev/null ; then
echo
echo "You need locale support on your build machine to build a toolchain supporting locales"
exit 1 ;