提交 5b1b6dbd 编写于 作者: F Fam Zheng 提交者: Paolo Bonzini

rules.mak: Don't extract libs from .mo-libs in link command

For module build, .mo objects are passed to LINK and consumed in
process-archive-undefs. The reason behind that is documented in the
comment above process-archive-undefs.

Similarly, extract-libs should be called with .mo filtered out too.
Otherwise, the .mo-libs are added to the link command incorrectly,
spoiling the purpose of modularization.

Currently we don't have any .mo-libs usage, but it will be used soon
when we modularize more multi-source objects, like sdl and gtk.
Reported-by: NColin Lord <clord@redhat.com>
Signed-off-by: NFam Zheng <famz@redhat.com>
Message-Id: <1469600777-30413-2-git-send-email-famz@redhat.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 b34de45f
...@@ -51,7 +51,7 @@ process-archive-undefs = $(filter-out %.a %.mo,$1) \ ...@@ -51,7 +51,7 @@ process-archive-undefs = $(filter-out %.a %.mo,$1) \
$(call undefined-symbols,$(filter %.mo,$1)))) \ $(call undefined-symbols,$(filter %.mo,$1)))) \
$(filter %.a,$1) $(filter %.a,$1)
extract-libs = $(strip $(foreach o,$1,$($o-libs))) extract-libs = $(strip $(foreach o,$(filter-out %.mo,$1),$($o-libs)))
expand-objs = $(strip $(sort $(filter %.o,$1)) \ expand-objs = $(strip $(sort $(filter %.o,$1)) \
$(foreach o,$(filter %.mo,$1),$($o-objs)) \ $(foreach o,$(filter %.mo,$1),$($o-objs)) \
$(filter-out %.o %.mo,$1)) $(filter-out %.o %.mo,$1))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册