[mythtv-commits] Ticket #4270: MythTV on Windows (with MinGW)

MythTV mythtv at cvs.mythtv.org
Tue Dec 11 21:23:32 UTC 2007

#4270: MythTV on Windows (with MinGW)
 Reporter:  andrei at tanas.ca  |        Owner:  danielk
     Type:  patch            |       Status:  new    
 Priority:  minor            |    Milestone:  unknown
Component:  mythtv           |      Version:  head   
 Severity:  medium           |   Resolution:         
  Mlocked:  0                |  

Comment(by andrei at tanas.ca):

   use pragma warning(disable) only with Visual C++
   gmtime_r and localtime_r are not needed here, they are only
     used once and if left here generate "redefinition" warnings
     (they are defined in pthred.h, but not implemented)
   #define lseek lseek64 creates two lseek64 defines with different
     signatures - the compiler is not happy
   operator==(pthread.... - not needed anymore
   signal() is actually supported in MinGW, just not all signals,
     and besides, "signal" is used by QT, so this didn't work

 ThreadedFileWriter.cpp: see signal() explanation above

 RingBuffer.cpp: see lseek64() explanation

 vsync.h, vsync.cpp: doesn't compile if not protected by #ifdef's

 mythmainwindow.cpp: implement "get display dpi"

 libmythui.def, libmythupnp.def: these are needed to create "import
 libraries" to
   work around circular references between Myth libraries
   (e.g.: libmyth uses libmythui which uses libmyth)

 mpegts.c: needs compat.h

 os_support.c: if #ifdef CONFIG_NETWORK is where it is, it tries
   unnecessarily to include <winsock2.h> and fails due to
   conflict between winsock close() and io close() and a bunch of
   other errors

 audiooutputwin: fixes (didn't compile) (by the way, why do we need
   to move Windows stuff to private class, if the header file is
   only included when compiling on Windows?)

 util.cpp: new char[MAX_PATH+1] allocates memory, who frees it?
   MAX_PATH is 260, actual restriction is 256, +1 is not necessary.
   Considering that it's just 260, I think stack allocation makes sense.
   I think we actually want to mkdir/create file, and then
   show error message if something went wrong.

 upnptasknotify.h, httpserver.h: typo? (should be #ifndef, not #ifdef)

 mythbackend/main.cpp: there's no fork() on Windows, new process does not
   have open handles. Or am I missing something?

 postprocess/postprocess.pro: hack, but I nelieve that postprocess.c is
   not compiled on any other platform either. Excluding
   gets rid of "undefined symbol" errors.

Ticket URL: <http://svn.mythtv.org/trac/ticket/4270#comment:18>
MythTV <http://svn.mythtv.org/trac>

More information about the mythtv-commits mailing list