qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] w32: Build windows and console executables


From: TeLeMan
Subject: Re: [Qemu-devel] [PATCH v2] w32: Build windows and console executables
Date: Mon, 26 Dec 2011 10:14:14 +0800

On Fri, Dec 23, 2011 at 21:47, Stefan Weil <address@hidden> wrote:
> Am 23.12.2011 03:31, schrieb TeLeMan:
>
>> On Thu, Dec 22, 2011 at 18:20, Stefan Weil <address@hidden> wrote:
>>>
>>> System emulation executables with SDL are typically windows
>>> executables. Sometimes console executables are more useful,
>>> so create both variants if linker option -mwindows was detected.
>>>
>>> v2:
>>> This version uses QEMU_PROGW / QEMU_PROG instead of QEMU_PROG /
>>> QEMU_PROGC.
>>>
>>> Signed-off-by: Stefan Weil <address@hidden>
>>> ---
>>>  Makefile.target |   16 +++++++++++++++-
>>>  1 files changed, 15 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/Makefile.target b/Makefile.target
>>> index 3261383..0182e41 100644
>>> --- a/Makefile.target
>>> +++ b/Makefile.target
>>> @@ -27,10 +27,17 @@ ifdef CONFIG_USER_ONLY
>>>  QEMU_PROG=qemu-$(TARGET_ARCH2)
>>>  else
>>>  # system emulator name
>>> +ifneq (,$(findstring -mwindows,$(LIBS)))
>>> +# Terminate program name with a 'w' because the linker builds a windows
>>> executable.
>>> +QEMU_PROGW=qemu-system-$(TARGET_ARCH2)w$(EXESUF)
>>> +endif # windows executable
>>>  QEMU_PROG=qemu-system-$(TARGET_ARCH2)$(EXESUF)
>>>  endif
>>>
>>>  PROGS=$(QEMU_PROG)
>>> +ifdef QEMU_PROGW
>>> +PROGS+=$(QEMU_PROGW)
>>> +endif
>>>  STPFILES=
>>>
>>>  ifndef CONFIG_HAIKU
>>> @@ -403,9 +410,16 @@ endif # CONFIG_LINUX_USER
>>>
>>>  obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
>>>
>>> +ifdef QEMU_PROGW
>>> +# The linker builds a windows executable. Make also a console
>>> executable.
>>> +$(QEMU_PROGW): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
>>> +       $(call LINK,$^)
>>> +$(QEMU_PROG): $(QEMU_PROGW)
>>> +       $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW)
>>> $(QEMU_PROG),"  GEN   $(TARGET_DIR)$(QEMU_PROG)")
>>> +else
>>>  $(QEMU_PROG): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
>>>       $(call LINK,$^)
>>> -
>>> +endif
>>>
>>>  gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
>>>       $(call quiet-command,rm -f $@ && $(SHELL)
>>> $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES),"  GEN
>>> $(TARGET_DIR)$@")
>>> --
>>> 1.7.2.5
>>>
>> Failed to make:
>> Makefile:416: *** multiple target patterns. Stop.
>
>
> It works here (native and cross compilations) with MinGW,
> so I have to guess and need your help.
>
> This is the relevant code from Makefile.target when my patch was applied:
>
> $(QEMU_PROGW): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
>        $(call LINK,$^)
> $(QEMU_PROG): $(QEMU_PROGW)
>
>        $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW)
> $(QEMU_PROG),"  GEN   $(TARGET_DIR)$(QEMU_PROG)")
>
> Line 416 is the 2nd line which was not changed by my patch.
> It contains no target pattern at all.
>
> Or do you have a different line counting caused by local
> modifications or an older version of the QEMU sources?
>
> Does an empty line between 2nd and 3rd line help?
>
> Do you run a native or a cross compilation?
>
> If native: which line endings do you use (CRLF or LF,
> depends on git settings and MinGW mount options)?
> Do you use Cygwin, MinGW or MinGW-w64?
> Which make do you use?
>
> Try to run make in verbose mode (make V=1).
>
> This page describes the error which you got:
> http://www.gnu.org/savannah-checkouts/gnu/make/manual/html_node/Error-Messages.html
I found this problem. After I copied & pasted your patch, the tabs
were converted to spaces.
Thanks for your patience. Now it is working.

> Cheers,
> Stefan Weil
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]