]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
build: fix exporting for make 3.82
authorJan Beulich <jbeulich@suse.com>
Wed, 15 Jun 2022 08:23:16 +0000 (10:23 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 15 Jun 2022 08:23:16 +0000 (10:23 +0200)
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 <jbeulich@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
xen/Makefile

index 82f5310b12266e09c7b2b8fa1d8a75488d767913..ede4f15b182fd7da7bb145a218b2273d73577d59 100644 (file)
@@ -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)