aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2020-12-22 10:33:02 +0100
committerPetr Štetiar <ynezz@true.cz>2021-01-04 19:32:25 +0100
commitc7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb (patch)
tree5c7cce185683c1f467fb5de54b6acaee06d7f89b
parent6773bee10753ae181257b544371101646822e80e (diff)
downloadupstream-c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.tar.gz
upstream-c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.tar.bz2
upstream-c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb.zip
build: replace which with Bash command built-in
`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 /bin/sh: line 1: which: command not found /bin/sh: line 1: which: command not found ... Checking 'python3'... failed. ... Fix this by switching to Bash builtin `command` which should provide same functionality. Fixes: FS#3525 Signed-off-by: Petr Štetiar <ynezz@true.cz>
-rw-r--r--Makefile2
-rw-r--r--include/cmake.mk2
-rw-r--r--include/prereq.mk4
3 files changed, 4 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 4ccbc20b85..f1577ad4d1 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir
world:
-DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep -E '\/usr' | head -n 1)
+DISTRO_PKG_CONFIG:=$(shell command -pv pkg-config | grep -E '\/usr' | head -n 1)
export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH)
ifneq ($(OPENWRT_BUILD),1)
diff --git a/include/cmake.mk b/include/cmake.mk
index 96c4d7df34..de8022ca57 100644
--- a/include/cmake.mk
+++ b/include/cmake.mk
@@ -15,7 +15,7 @@ MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .)
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1)
else
- cmake_tool=$(shell which $(1))
+ cmake_tool=$(shell command -v $(1))
endif
ifeq ($(CONFIG_CCACHE),)
diff --git a/include/prereq.mk b/include/prereq.mk
index 83ac21242c..6d14140792 100644
--- a/include/prereq.mk
+++ b/include/prereq.mk
@@ -52,7 +52,7 @@ endef
define RequireCommand
define Require/$(1)
- which $(1)
+ command -pv $(1)
endef
$$(eval $$(call Require,$(1),$(2)))
@@ -106,7 +106,7 @@ define SetupHostCommand
$(call QuoteHostCommand,$(11)) $(call QuoteHostCommand,$(12)); do \
if [ -n "$$$$$$$$cmd" ]; then \
bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \
- which "$$$$$$$${cmd%% *}")"; \
+ command -pv "$$$$$$$${cmd%% *}")"; \
if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \
mkdir -p "$(STAGING_DIR_HOST)/bin"; \
ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \