From 39d6c348370a8d801b918263a551e300696dd64b Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 21 Dec 2022 11:57:43 +0100 Subject: [PATCH] BUILD: makefile: build the features list dynamically The BUILD_FEATURES string was created too early to inherit implicit additions. This could make the features list report that some features were disabled while they had later been enabled. Better make it a macro that is interpreted where needed based on the current state of each option. --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c6fec6af8d..1d3fe26a91 100644 --- a/Makefile +++ b/Makefile @@ -514,7 +514,11 @@ ignore_implicit = $(if $(subst environment,,$(origin $(1))), \ # is used to report a list of all flags which were used to build this version. # Do not assign anything to it. BUILD_OPTIONS := $(foreach opt,$(use_opts),$(call ignore_implicit,$(opt))) -BUILD_FEATURES := $(foreach opt,$(patsubst USE_%,%,$(use_opts)),$(if $(USE_$(opt)),+$(opt),-$(opt))) + +# Make a list of all known features with +/- prepended depending on their +# activation status. Must be a macro so that dynamically enabled ones are +# evaluated with their current status. +BUILD_FEATURES = $(foreach opt,$(patsubst USE_%,%,$(use_opts)),$(if $(USE_$(opt)),+$(opt),-$(opt))) # All USE_* options have their equivalent macro defined in the code (some might # possibly be unused though) -- 2.47.2