提交 fdd941ee 编写于 作者: D Daniel P. Berrangé

build: workaround behaviour regression in gnu make 4.3

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.
Reviewed-by: NEric Blake <eblake@redhat.com>
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 f7424613
......@@ -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.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册