We need the "$(space)" variable to contain a single whitespace
character. We do this by assigning and then appending an empty
string to the variable. Variable appends get separated by a
single whitespace historically, but GNU make 4.3 introduced a
behaviour regression.
https://lists.gnu.org/archive/html/bug-make/2020-01/msg00057.html
[quote]
* WARNING: Backward-incompatibility!
Previously appending using '+=' to an empty variable would
result in a value starting with a space. Now the initial
space is only added if the variable already contains some
value. Similarly, appending an empty string does not
add a trailing space.
[/quote]
This patch tries a new trick to get a single whitespace by
getting make to expand two non-existant variables separated
by a space.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
build-aux/syntax-check.mk | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk
index b829c8a18b..3020921be8 100644
--- a/build-aux/syntax-check.mk
+++ b/build-aux/syntax-check.mk
@@ -687,8 +687,7 @@ msg_gen_function += virLastErrorPrefixMessage
# msg_gen_function += vshPrint
# msg_gen_function += vshError
-space =
-space +=
+space = $(null) $(null)
func_re= ($(subst $(space),|,$(msg_gen_function)))
# Look for diagnostics that aren't marked for translation.
--
2.24.1