qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Errors compiling QEMU with Mingw
@ 2004-06-18 16:29 Dean Payne
  2004-06-18 16:42 ` Filip Navara
  0 siblings, 1 reply; 4+ messages in thread
From: Dean Payne @ 2004-06-18 16:29 UTC (permalink / raw)
  To: qemu-devel

Hi,

I have tried to compile QEMU for windows from the latest CVS using the
latest MingW and various tools. I basically followed the instructions
outlined for compiling QEMU from
http://www.h7.dion.ne.jp/~qemu-win/PortingTips-en.html. Although I can
compile the source as given there, I have no luck with the latest from CVS.

The first error I got was
------------
In file included from C:/dev/Dev-Cpp/include/windef.h:246,
                 from C:/dev/Dev-Cpp/include/windows.h:48,
                 from d:/sourceforge/qemu/vl.c:60:
C:/dev/Dev-Cpp/include/winnt.h:97: parse error before numeric constant
------------

I chased it down and it appears that the file

qemu\target-ppc\cpu.h

has a define on line 346 :

#define LP     SPR_ENCODE(1022)

which conflicts with the typedef in winnt.h:

typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;

Without knowing too much about the source I changed the #define LP to a
different symbol (hoping that it was not used elsewhere) but encountered
another error:
-------------------------
gcc  -o qemu-system-ppc.exe vl.o osdep.o block.o monitor.o pci.o ppc.o ide.o
ne2000.o pckbd.o vga.o sb16.o dma.o oss.o mc146818rtc.o serial.o i8259.o
i8254.o fdc.o m48t59.o ppc_prep.o ppc_chrp.o cuda.o adb.o sdl.o
ibqemu.a  -lm -lwinmm -lws2_32 -liphlpapi -L/usr/local/lib -lmingw32 -lSDLma
in -lSDL -mwindows
libqemu.a(op_helper.o)(.text+0x12b4): In function `dump_state':
d:/sourceforge/qemu/target-ppc/op_helper.c:471: undefined reference to
`stdout'
make[1]: *** [qemu-system-ppc.exe] Error 1
make[1]: Leaving directory `/d/sourceforge/qemu/ppc-softmmu'
--------------------------

I am not sure whether that is due to me or simply something else. Am I going
about this the right way and can anyone offer some tips?

Cheers

Dean

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Errors compiling QEMU with Mingw
  2004-06-18 16:29 Dean Payne
@ 2004-06-18 16:42 ` Filip Navara
  0 siblings, 0 replies; 4+ messages in thread
From: Filip Navara @ 2004-06-18 16:42 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 2076 bytes --]

Hi!

I sent a patch for this few days ago. It's attached...

- Filip


Dean Payne wrote:

>Hi,
>
>I have tried to compile QEMU for windows from the latest CVS using the
>latest MingW and various tools. I basically followed the instructions
>outlined for compiling QEMU from
>http://www.h7.dion.ne.jp/~qemu-win/PortingTips-en.html. Although I can
>compile the source as given there, I have no luck with the latest from CVS.
>
>The first error I got was
>------------
>In file included from C:/dev/Dev-Cpp/include/windef.h:246,
>                 from C:/dev/Dev-Cpp/include/windows.h:48,
>                 from d:/sourceforge/qemu/vl.c:60:
>C:/dev/Dev-Cpp/include/winnt.h:97: parse error before numeric constant
>------------
>
>I chased it down and it appears that the file
>
>qemu\target-ppc\cpu.h
>
>has a define on line 346 :
>
>#define LP     SPR_ENCODE(1022)
>
>which conflicts with the typedef in winnt.h:
>
>typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
>
>Without knowing too much about the source I changed the #define LP to a
>different symbol (hoping that it was not used elsewhere) but encountered
>another error:
>-------------------------
>gcc  -o qemu-system-ppc.exe vl.o osdep.o block.o monitor.o pci.o ppc.o ide.o
>ne2000.o pckbd.o vga.o sb16.o dma.o oss.o mc146818rtc.o serial.o i8259.o
>i8254.o fdc.o m48t59.o ppc_prep.o ppc_chrp.o cuda.o adb.o sdl.o
>ibqemu.a  -lm -lwinmm -lws2_32 -liphlpapi -L/usr/local/lib -lmingw32 -lSDLma
>in -lSDL -mwindows
>libqemu.a(op_helper.o)(.text+0x12b4): In function `dump_state':
>d:/sourceforge/qemu/target-ppc/op_helper.c:471: undefined reference to
>`stdout'
>make[1]: *** [qemu-system-ppc.exe] Error 1
>make[1]: Leaving directory `/d/sourceforge/qemu/ppc-softmmu'
>--------------------------
>
>I am not sure whether that is due to me or simply something else. Am I going
>about this the right way and can anyone offer some tips?
>
>Cheers
>
>Dean
>
>
>
>
>_______________________________________________
>Qemu-devel mailing list
>Qemu-devel@nongnu.org
>http://lists.nongnu.org/mailman/listinfo/qemu-devel
>
>
>  
>


[-- Attachment #2: qemu-ppc-mingw.diff --]
[-- Type: text/plain, Size: 1518 bytes --]

diff -u -r qemu/target-ppc/cpu.h qemu.wincopy/target-ppc/cpu.h
--- qemu/target-ppc/cpu.h	Wed Jun  2 20:54:28 2004
+++ qemu.wincopy/target-ppc/cpu.h	Tue Jun  8 20:19:10 2004
@@ -343,7 +343,8 @@
 #define THRM2  SPR_ENCODE(1021)
 #define THRM3  SPR_ENCODE(1022)
 #define SP     SPR_ENCODE(1021)
-#define LP     SPR_ENCODE(1022)
+/* Conflicts with Win32 API defininition on MinGW builds */
+/* #define LP     SPR_ENCODE(1022) */
 #define DABR_MASK 0xFFFFFFF8
 #define FPECR  SPR_ENCODE(1022)
 #define PIR    SPR_ENCODE(1023)
diff -u -r qemu/target-ppc/helper.c qemu.wincopy/target-ppc/helper.c
--- qemu/target-ppc/helper.c	Wed Jun  2 20:54:28 2004
+++ qemu.wincopy/target-ppc/helper.c	Tue Jun  8 20:29:02 2004
@@ -27,8 +27,6 @@
 //#define DEBUG_BATS
 //#define DEBUG_EXCEPTIONS
 
-extern FILE *stdout, *stderr;
-
 /*****************************************************************************/
 /* PPC MMU emulation */
 int cpu_ppc_handle_mmu_fault (CPUState *env, uint32_t address, int rw,
diff -u -r qemu/target-ppc/op_helper.c qemu.wincopy/target-ppc/op_helper.c
--- qemu/target-ppc/op_helper.c	Wed Jun  2 20:54:30 2004
+++ qemu.wincopy/target-ppc/op_helper.c	Tue Jun  8 20:30:06 2004
@@ -464,7 +464,14 @@
 
 /*****************************************************************************/
 /* Special helpers for debug */
+#ifndef _WIN32
 extern FILE *stdout;
+#else
+struct FILE { int opaque; };
+extern FILE (*_imp___iob)[];
+#define _iob	(*_imp___iob)
+#define stdout	(&_iob[1])
+#endif
 
 void dump_state (void)
 {

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Errors compiling QEMU with Mingw
       [not found] <200406181841.i5IIfZQa019337@treas.simtreas.ru>
@ 2004-06-19  7:33 ` Vladimir N. Oleynik
  0 siblings, 0 replies; 4+ messages in thread
From: Vladimir N. Oleynik @ 2004-06-19  7:33 UTC (permalink / raw)
  To: qemu-devel, navaraf

Filip,

 > Hi! I sent a patch for this few days ago. It's attached...

 > +#ifndef _WIN32
 > extern FILE *stdout;
 > +#else
 > +struct FILE { int opaque; };
 > +extern FILE (*_imp___iob)[];
 > +#define _iob	(*_imp___iob)
 > +#define stdout	(&_iob[1])
 > +#endif

But in fact this very dirty correction.
May be
#include <stdio.h>
is more true.


--w
vodz

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Errors compiling QEMU with Mingw
@ 2004-06-19  8:15 Filip Navara
  0 siblings, 0 replies; 4+ messages in thread
From: Filip Navara @ 2004-06-19  8:15 UTC (permalink / raw)
  To: qemu-devel

Vladimir N. Oleynik wrote:
[snip]

> But in fact this very dirty correction.
> May be
> #include <stdio.h>
> is more true.

Right, but that's not easily possible without refactoring a few bits of 
the code. Currently there are duplicate definitions in the QEMU headers 
if <stdio.h> is included and so that must be fixed first.

Regards,
Filip

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-06-19  8:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-19  8:15 [Qemu-devel] Errors compiling QEMU with Mingw Filip Navara
     [not found] <200406181841.i5IIfZQa019337@treas.simtreas.ru>
2004-06-19  7:33 ` Vladimir N. Oleynik
  -- strict thread matches above, loose matches on Subject: below --
2004-06-18 16:29 Dean Payne
2004-06-18 16:42 ` Filip Navara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).