From b4f7d8b1566e3220d0e9004499ef9c257e079c57 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 7 Aug 2024 15:30:11 +0200 Subject: Merging upstream version 1.22.7. Signed-off-by: Daniel Baumann --- scripts/mk/architecture.mk | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'scripts/mk/architecture.mk') diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk index c11cada..4f0559c 100644 --- a/scripts/mk/architecture.mk +++ b/scripts/mk/architecture.mk @@ -1,11 +1,21 @@ # This Makefile fragment (since dpkg 1.16.1) defines all the DEB_HOST_* and # DEB_BUILD_* variables that dpkg-architecture can return. Existing values # of those variables are preserved as per policy. +# All variables are exported. -dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) - -dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-architecture -q$(1)) +ifndef dpkg_architecture_mk_included +dpkg_architecture_mk_included = yes +dpkg_architecture_vars = \ $(foreach machine,BUILD HOST TARGET,\ $(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ - $(eval $(call dpkg_architecture_setvar,DEB_$(machine)_$(var))))) + DEB_$(machine)_$(var))) + +# dpkg-buildpackage sets all variables. Optimize this frequent case. +ifneq (,$(strip $(foreach v,$(dpkg_architecture_vars),$(if $(value $(v)),,1)))) + $(foreach line,$(subst =,?=,$(shell dpkg-architecture)),$(eval $(line))) +endif + +export $(dpkg_architecture_vars) + +endif # dpkg_architecture_mk_included -- cgit v1.2.3