From 1b4d7f6e13212b4c65ec2832681719fd960e75e6 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Wed, 8 Feb 2023 19:19:28 +0100 Subject: [PATCH] package/pkg-waf.mk: drop bundled waf/waflib when external waf is used Waf requires that the version of the waf script matches the version of waflib, so drop any bundled waf/waflib if _NEEDS_EXTERNAL_WAF is used, as otherwise waf errors out with errors like: Waf script '2.0.24' and library '1.9.3' do not match Signed-off-by: Peter Korsgaard Reviewed-by: Romain Naour [Peter: Run as a post-patch hook as suggested by Yann] Signed-off-by: Peter Korsgaard --- package/pkg-waf.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk index e090afa9e6..0e752072c8 100644 --- a/package/pkg-waf.mk +++ b/package/pkg-waf.mk @@ -38,6 +38,13 @@ WAF_OPTS = $(if $(VERBOSE),-v) -j $(PARALLEL_JOBS) define inner-waf-package +# The version of waflib has to match with the version of waf, +# otherwise waf errors out with: +# Waf script 'X' and library 'Y' do not match +define WAF_PACKAGE_REMOVE_WAF_LIB + $(RM) -fr $(@D)/waf $(@D)/waflib +endef + # We need host-python3 to run waf $(2)_DEPENDENCIES += host-python3 @@ -47,6 +54,7 @@ $(2)_NEEDS_EXTERNAL_WAF ?= NO ifeq ($$($(2)_NEEDS_EXTERNAL_WAF),YES) $(2)_DEPENDENCIES += host-waf $(2)_WAF = $$(HOST_DIR)/bin/waf +$(2)_POST_PATCH_HOOKS += WAF_PACKAGE_REMOVE_WAF_LIB else $(2)_WAF ?= ./waf endif