X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Fprereq.mk;h=c11178a884b4b450ee4fb585785a3ec1bb0cd998;hb=a17b8eaa2e4b319b7069170398fe965786a813e9;hp=33ac27823297b0ab86d98013aaeb8fc3f53321a7;hpb=7002f6326e9dcd4cb3272763ba9b9debd9f3a60d;p=openwrt%2Fstaging%2Fdedeckeh.git diff --git a/include/prereq.mk b/include/prereq.mk index 33ac278232..c11178a884 100644 --- a/include/prereq.mk +++ b/include/prereq.mk @@ -1,9 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0-only # -# Copyright (C) 2006-2015 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# +# Copyright (C) 2006-2020 OpenWrt.org ifneq ($(__prereq_inc),1) __prereq_inc:=1 @@ -52,7 +49,7 @@ endef define RequireCommand define Require/$(1) - which $(1) + command -pv $(1) endef $$(eval $$(call Require,$(1),$(2))) @@ -66,6 +63,18 @@ define RequireHeader $$(eval $$(call Require,$(1),$(2))) endef +define CleanupPython2 + define Require/python2-cleanup + if [ -f "$(STAGING_DIR_HOST)/bin/python" ] && \ + $(STAGING_DIR_HOST)/bin/python -V 2>&1 | \ + grep -q 'Python 2'; then \ + rm $(STAGING_DIR_HOST)/bin/python; \ + fi + endef + + $$(eval $$(call Require,python2-cleanup)) +endef + define QuoteHostCommand '$(subst ','"'"',$(strip $(1)))' endef @@ -86,13 +95,15 @@ endef # 3+: candidates define SetupHostCommand define Require/$(1) + [ -f "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0; \ for cmd in $(call QuoteHostCommand,$(3)) $(call QuoteHostCommand,$(4)) \ $(call QuoteHostCommand,$(5)) $(call QuoteHostCommand,$(6)) \ $(call QuoteHostCommand,$(7)) $(call QuoteHostCommand,$(8)) \ - $(call QuoteHostCommand,$(9)); do \ + $(call QuoteHostCommand,$(9)) $(call QuoteHostCommand,$(10)) \ + $(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))"; \