mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 05:51:45 -09:00
Revert "make: support: use command -v' instead of which'"
This reverts commit ca6a2907c2.
Switching to using 'command -v' instead of 'which', opened a can of
worms that is hard to fix in a timely manner:
- recursive call to 'make' from a post-build, post-iamge script, fails
because of a redefinition of HOSTCC_NOCCACHE (a bug on its own that
needs a separate fix anyway) [0];
- 'make' believeing it can call "simple" commands with execve() et al.
instead of passing them through a shell via system(), and thus
failing to find 'command' in the PATH [1].
[0] https://lore.kernel.org/buildroot/20211001175329.GA1973888@lbrmn-mmayer.ric.broadcom.net/T/#m95c17eb8374e4e3dd6eee700d397aa12cca0739e
[1] https://lore.kernel.org/buildroot/20211001180304.GV1504958@scaer/T/#m3a8f36bd76ec7d8e5038a6c8932bb6ffe23ea268
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
@@ -5,10 +5,10 @@
|
||||
# that runs on host, e.g. Kconfig. To build code for target use plain
|
||||
# host-{bison,flex}.
|
||||
|
||||
ifeq ($(shell command -v bison 2>/dev/null),)
|
||||
ifeq ($(shell which bison 2>/dev/null),)
|
||||
BR2_BISON_HOST_DEPENDENCY = host-bison
|
||||
endif
|
||||
|
||||
ifeq ($(shell command -v flex 2>/dev/null),)
|
||||
ifeq ($(shell which flex 2>/dev/null),)
|
||||
BR2_FLEX_HOST_DEPENDENCY = host-flex
|
||||
endif
|
||||
|
||||
@@ -11,7 +11,7 @@ shift
|
||||
for candidate; do
|
||||
|
||||
# Try to locate the candidate. Discard it if not located.
|
||||
cmake=`command -v "${candidate}" 2>/dev/null`
|
||||
cmake=`which "${candidate}" 2>/dev/null`
|
||||
[ -n "${cmake}" ] || continue
|
||||
|
||||
# Extract version X.Y from versions in the form X.Y or X.Y.Z
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
candidate="$1" # ignored
|
||||
|
||||
gzip="$(command -v gzip)"
|
||||
gzip="$(which gzip)"
|
||||
if [ ! -x "${gzip}" ]; then
|
||||
# echo nothing: no suitable gzip found
|
||||
exit 1
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
candidate="$1"
|
||||
|
||||
lzip=`command -v $candidate 2>/dev/null`
|
||||
lzip=`which $candidate 2>/dev/null`
|
||||
if [ ! -x "$lzip" ]; then
|
||||
lzip=`command -v lzip 2>/dev/null`
|
||||
lzip=`which lzip 2>/dev/null`
|
||||
if [ ! -x "$lzip" ]; then
|
||||
# echo nothing: no suitable lzip found
|
||||
exit 1
|
||||
|
||||
@@ -14,7 +14,7 @@ shift
|
||||
# a more recent version.
|
||||
|
||||
for candidate in "${@}" ; do
|
||||
python3=`command -v $candidate 2>/dev/null`
|
||||
python3=`which $candidate 2>/dev/null`
|
||||
if [ ! -x "$python3" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
candidate="$1"
|
||||
|
||||
tar=`command -v $candidate`
|
||||
tar=`which $candidate`
|
||||
if [ ! -x "$tar" ]; then
|
||||
tar=`command -v tar`
|
||||
tar=`which tar`
|
||||
if [ ! -x "$tar" ]; then
|
||||
# echo nothing: no suitable tar found
|
||||
exit 1
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
candidate="$1"
|
||||
|
||||
xzcat=`command -v $candidate 2>/dev/null`
|
||||
xzcat=`which $candidate 2>/dev/null`
|
||||
if [ ! -x "$xzcat" ]; then
|
||||
xzcat=`command -v xzcat 2>/dev/null`
|
||||
xzcat=`which xzcat 2>/dev/null`
|
||||
if [ ! -x "$xzcat" ]; then
|
||||
# echo nothing: no suitable xzcat found
|
||||
exit 1
|
||||
|
||||
@@ -58,7 +58,7 @@ fi
|
||||
check_prog_host()
|
||||
{
|
||||
prog="$1"
|
||||
if ! command -v $prog > /dev/null ; then
|
||||
if ! which $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=$(command -v make 2> /dev/null)
|
||||
MAKE=$(which 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=$(command -v $HOSTCC_NOCCACHE 2> /dev/null)
|
||||
COMPILER=$(which $HOSTCC_NOCCACHE 2> /dev/null)
|
||||
if [ -z "$COMPILER" ] ; then
|
||||
COMPILER=$(command -v cc 2> /dev/null)
|
||||
COMPILER=$(which 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=$(command -v $HOSTCXX_NOCCACHE 2> /dev/null)
|
||||
CXXCOMPILER=$(which $HOSTCXX_NOCCACHE 2> /dev/null)
|
||||
if [ -z "$CXXCOMPILER" ] ; then
|
||||
CXXCOMPILER=$(command -v c++ 2> /dev/null)
|
||||
CXXCOMPILER=$(which 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 ! command -v $prog > /dev/null ; then
|
||||
if ! which $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 ! command -v locale > /dev/null ; then
|
||||
if ! which locale > /dev/null ; then
|
||||
echo
|
||||
echo "You need locale support on your build machine to build a toolchain supporting locales"
|
||||
exit 1 ;
|
||||
|
||||
Reference in New Issue
Block a user