mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
Fix build on Solaris and WIN32
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
a984a69e57
commit
9abbdbfe59
2 changed files with 24 additions and 4 deletions
23
configure
vendored
23
configure
vendored
|
@ -1691,6 +1691,29 @@ bsd)
|
|||
;;
|
||||
esac
|
||||
|
||||
# Determine what linker flags to use to force archive inclusion
|
||||
check_linker_flags()
|
||||
{
|
||||
$cc $ARCH_CFLAGS -o $TMPE $OS_CFLAGS $TMPC -Wl,$1 -Wl,$2 >/dev/null 2>/dev/null
|
||||
}
|
||||
|
||||
cat > $TMPC << EOF
|
||||
int main(void) { }
|
||||
EOF
|
||||
if check_linker_flags --whole-archive --no-whole-archive ; then
|
||||
# GNU ld
|
||||
echo "ARLIBS_BEGIN=-Wl,--whole-archive" >> $config_mak
|
||||
echo "ARLIBS_END=-Wl,--no-whole-archive" >> $config_mak
|
||||
elif check_linker_flags -z,allextract -z,defaultextract ; then
|
||||
# Solaris ld
|
||||
echo "ARLIBS_BEGIN=-Wl,-z,allextract" >> $config_mak
|
||||
echo "ARLIBS_END=-Wl,-z,defaultextract" >> $config_mak
|
||||
else
|
||||
echo "Error: your linker does not support --whole-archive or -z."
|
||||
echo "Please report to qemu-devel@nongnu.org"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tools=
|
||||
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
|
||||
tools="qemu-img\$(EXESUF) $tools"
|
||||
|
|
|
@ -8,10 +8,7 @@
|
|||
%.o: %.m
|
||||
$(call quiet-command,$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<," OBJC $(TARGET_DIR)$@")
|
||||
|
||||
WAS=-Wl,--whole-archive
|
||||
WAE=-Wl,--no-whole-archive
|
||||
|
||||
LINK = $(call quiet-command,$(CC) $(LDFLAGS) -o $@ $(1) $(LIBS) $(WAS) $(ARLIBS) $(WAE)," LINK $(TARGET_DIR)$@")
|
||||
LINK = $(call quiet-command,$(CC) $(LDFLAGS) -o $@ $(1) $(ARLIBS_BEGIN) $(ARLIBS) $(ARLIBS_END) $(LIBS)," LINK $(TARGET_DIR)$@")
|
||||
|
||||
%$(EXESUF): %.o
|
||||
$(call LINK,$^)
|
||||
|
|
Loading…
Reference in a new issue