From 13069b1a1dcbef0bb9b42db98025fa9203283220 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
Date: Wed, 3 Mar 2021 19:48:55 +0100
Subject: [PATCH] build: add which command to build requirements
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

`which` utility is not shipped by default for example on recent Arch
Linux and then any steps relying on its presence fails, like for example
following Python3 prereq build check:

 $ python3 --version
 Python 3.9.1

 $ make
 /bin/sh: line 1: which: command not found
 ...
 Checking 'python3'... failed.

So make `which` utility host build requirement.

References: PR#3820 FS#3525
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
 README.md               | 2 +-
 include/prereq-build.mk | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index cb4b0436552a..68063d9f8667 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ documentation.
 
 ```
 gcc-6+ binutils bzip2 flex python3 perl make4.1+ find grep diff unzip gawk getopt
-subversion libz-dev libc-dev rsync
+subversion libz-dev libc-dev rsync which
 ```
 
 ### Quickstart
diff --git a/include/prereq-build.mk b/include/prereq-build.mk
index bbeba3f8ff6a..32edc6e4370a 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -166,6 +166,9 @@ $(eval $(call SetupHostCommand,file,Please install the 'file' package, \
 $(eval $(call SetupHostCommand,rsync,Please install 'rsync', \
 	rsync --version </dev/null))
 
+$(eval $(call SetupHostCommand,which,Please install 'which', \
+	which which | grep which))
+
 $(STAGING_DIR_HOST)/bin/mkhash: $(SCRIPT_DIR)/mkhash.c
 	mkdir -p $(dir $@)
 	$(CC) -O2 -I$(TOPDIR)/tools/include -o $@ $<
-- 
2.30.2