From 95b0d7bbddfbd797f37f7a09f0586c4bbd22291b Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 15 Jun 2022 10:23:16 +0200 Subject: [PATCH] build: fix exporting for make 3.82 GNU make 3.82 apparently has a quirk where exporting an undefined variable prevents its value from subsequently being updated. This situation can arise due to our adding of -rR to MAKEFLAGS, which takes effect also on make simply re-invoking itself. Once these flags are in effect, CC (in particular) is empty (undefined), and would be defined only via Config.mk including StdGNU.mk or alike. With the quirk, CC remains empty, yet with an empty CC the compiler minimum version check fails, breaking the build. Move the exporting of the various tool stack component variables past where they gain their (final) values. See also be63d9d47f57 ("build: tweak variable exporting for make 3.82"). Fixes: 15a0578ca4b0 ("build: shuffle main Makefile") Signed-off-by: Jan Beulich Reviewed-by: Anthony PERARD --- xen/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xen/Makefile b/xen/Makefile index 82f5310b12..ede4f15b18 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -44,8 +44,6 @@ export ARCH SRCARCH # Allow someone to change their config file export KCONFIG_CONFIG ?= .config -export CC CXX LD NM OBJCOPY OBJDUMP ADDR2LINE - export TARGET := xen .PHONY: dist @@ -244,6 +242,7 @@ export TARGET_ARCH := $(shell echo $(XEN_TARGET_ARCH) | \ -e s'/riscv.*/riscv/g') export CONFIG_SHELL := $(SHELL) +export CC CXX LD NM OBJCOPY OBJDUMP ADDR2LINE export YACC = $(if $(BISON),$(BISON),bison) export LEX = $(if $(FLEX),$(FLEX),flex) -- 2.30.2