aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--include/bpf.mk2
-rw-r--r--include/cmake.mk2
-rw-r--r--include/prereq.mk4
-rwxr-xr-xscripts/command_all.sh11
-rwxr-xr-xscripts/download.pl4
-rwxr-xr-xscripts/feeds2
-rwxr-xr-xscripts/ubinize-image.sh2
-rw-r--r--target/sdk/files/Makefile2
9 files changed, 20 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 39ab3ae4a5..d85df6c3cf 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,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 $(TOPDIR)/scripts/command_all.sh pkg-config | grep -E '\/usr' | head -n 1)
export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH)
ifneq ($(OPENWRT_BUILD),1)
diff --git a/include/bpf.mk b/include/bpf.mk
index ce30e24434..7d0cfbd76d 100644
--- a/include/bpf.mk
+++ b/include/bpf.mk
@@ -10,7 +10,7 @@ ifneq ($(CONFIG_USE_LLVM_HOST),)
else
BPF_PATH:=$(PATH)
endif
- CLANG:=$(firstword $(shell PATH='$(BPF_PATH)' which clang clang-13 clang-12 clang-11))
+ CLANG:=$(firstword $(shell PATH='$(BPF_PATH)' command -v clang clang-13 clang-12 clang-11))
LLVM_VER:=$(subst clang,,$(notdir $(CLANG)))
endif
ifneq ($(CONFIG_USE_LLVM_PREBUILT),)
diff --git a/include/cmake.mk b/include/cmake.mk
index b9a7e36dee..9b169b0693 100644
--- a/include/cmake.mk
+++ b/include/cmake.mk
@@ -24,7 +24,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 23d5ded9b2..0033535e78 100644
--- a/include/prereq.mk
+++ b/include/prereq.mk
@@ -49,7 +49,7 @@ endef
define RequireCommand
define Require/$(1)
- which $(1)
+ command -v $(1)
endef
$$(eval $$(call Require,$(1),$(2)))
@@ -103,7 +103,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 -v "$$$$$$$${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))"; \
diff --git a/scripts/command_all.sh b/scripts/command_all.sh
new file mode 100755
index 0000000000..452b66f092
--- /dev/null
+++ b/scripts/command_all.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Reduced version of which -a using command utility
+
+case $PATH in
+ (*[!:]:) PATH="$PATH:" ;;
+esac
+
+for ELEMENT in $(echo $PATH | tr ":" "\n"); do
+ PATH=$ELEMENT command -v "$@"
+done
diff --git a/scripts/download.pl b/scripts/download.pl
index 8e6463c007..ebb0d7af19 100755
--- a/scripts/download.pl
+++ b/scripts/download.pl
@@ -54,10 +54,8 @@ sub localmirrors {
sub which($) {
my $prog = shift;
- my $res = `which $prog`;
+ my $res = `command -v $prog`;
$res or return undef;
- $res =~ /^no / and return undef;
- $res =~ /not found/ and return undef;
return $res;
}
diff --git a/scripts/feeds b/scripts/feeds
index bbfd832c45..f63b4f0951 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -14,7 +14,7 @@ chdir $ENV{TOPDIR};
$ENV{GIT_CONFIG_PARAMETERS}="'core.autocrlf=false'";
$ENV{GREP_OPTIONS}="";
-my $mk=`which gmake 2>/dev/null`; # select the right 'make' program
+my $mk=`command -v gmake 2>/dev/null`; # select the right 'make' program
chomp($mk); # trim trailing newline
$mk or $mk = "make"; # default to 'make'
diff --git a/scripts/ubinize-image.sh b/scripts/ubinize-image.sh
index 0195695240..323eae547a 100755
--- a/scripts/ubinize-image.sh
+++ b/scripts/ubinize-image.sh
@@ -134,7 +134,7 @@ if [ ! -r "$rootfs" -a ! -r "$kernel" -a ! "$outfile" ]; then
exit 1
fi
-ubinize="$( which ubinize )"
+ubinize="$( command -v ubinize )"
if [ ! -x "$ubinize" ]; then
echo "ubinize tool not found or not usable"
exit 1
diff --git a/target/sdk/files/Makefile b/target/sdk/files/Makefile
index 2f89ce0cf8..a710ca5f51 100644
--- a/target/sdk/files/Makefile
+++ b/target/sdk/files/Makefile
@@ -14,7 +14,7 @@ export TOPDIR LC_ALL LANG SDK
world:
-DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep -E '\/usr' | head -n 1)
+DISTRO_PKG_CONFIG:=$(shell $(TOPDIR)/scripts/command_all.sh pkg-config | grep -E '\/usr' | head -n 1)
export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH)
ifneq ($(OPENWRT_BUILD),1)