From 7728ed3565a01f23c80b4426d682662d4c849e69 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 27 Mar 2019 13:20:08 +0100 Subject: [PATCH] BUILD: report the whole feature set with their status in haproxy -vv It's not convenient not to know the status of default options, and requires the user to know what option is enabled by default in each target. With this patch, a new "Features list" line is added to the output of "haproxy -vv" to report the whole list of known features with their respective status. They're prefixed with a "+" when enabled or a "-" when disabled. The "USE_" prefix is removed for clarity. --- Makefile | 4 +++- src/haproxy.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 14d9163a0..f621ca8d7 100644 --- a/Makefile +++ b/Makefile @@ -445,7 +445,8 @@ ignore_implicit = $(if $(subst environment,,$(origin $(1))), \ # This variable collects all USE_* values except those set to "implicit". This # 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_OPTIONS := $(foreach opt,$(use_opts),$(call ignore_implicit,$(opt))) +BUILD_FEATURES := $(foreach opt,$(patsubst USE_%,%,$(use_opts)),$(if $(USE_$(opt)),+$(opt),-$(opt))) ifneq ($(USE_LINUX_SPLICE),) OPTIONS_CFLAGS += -DCONFIG_HAP_LINUX_SPLICE @@ -883,6 +884,7 @@ src/haproxy.o: src/haproxy.c $(DEP) -DBUILD_CC='"$(strip $(CC))"' \ -DBUILD_CFLAGS='"$(strip $(VERBOSE_CFLAGS))"' \ -DBUILD_OPTIONS='"$(strip $(BUILD_OPTIONS))"' \ + -DBUILD_FEATURES='"$(strip $(BUILD_FEATURES))"' \ -c -o $@ $< install-man: diff --git a/src/haproxy.c b/src/haproxy.c index 6a5abcb35..cbcc80cdf 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -396,6 +396,9 @@ static void display_build_opts() #endif #ifdef BUILD_OPTIONS "\n OPTIONS = " BUILD_OPTIONS +#endif +#ifdef BUILD_FEATURES + "\n\nFeature list : " BUILD_FEATURES #endif "\n\nDefault settings :" "\n bufsize = %d, maxrewrite = %d, maxpollevents = %d"