[mythtv] Windows port

Jerry Rubinow jerrymr at gmail.com
Thu Oct 5 02:36:59 UTC 2006


On 10/4/06, Daniel Kristjansson <danielk at cuymedia.net> wrote:
>
> > -if there's already ongoing work, or if there's anything I could build
> > on.
> Not really. Portions on the code have been ported to windows before,
> but this code was in a raw state in the best of times and has aged
> badly.


Ok, start from scratch, probably better that way so I don't have to
potentially undo any paradigm that's not one I want to follow.

> -opinions of best way to proceed, and any requirements if this code is
> > to have hope of being merged into svn.  Ideally I'd like to use Visual
> > Studio, and it looks like cygwin would be useful.
> Please use at least a free-as-in-beer toolchain, I believe VS Express
> qualifies. Try to keep the number of dependencies down, and you will
> need to use Qt 3.x, we're not ready to move to Qt 4.x. Other than that,
> the general patch rules apply. Create separate functional and
> non-functional patches + keep individual patches small (<20kB) and
> only do one thing in each patch (an exception might be a number of
> trivial bug fixes).


Yep, MS gives VSExpress away, and I think being able to use the Visual
Studio debugger will be immensely useful.  I knew I'd need QT 3 (I
have 3.6installed), and so far found Lame, Zlib and FreeType were
necessary as
well.  My initial experiment didn't involve cygwin, but I'm thinking that
might make a bunch of things easier, rather than provide my own translation
layer for the Unix/Linux-only functions myth uses.  I read some stuff about
potential linking issues with cygwin/qt when using MSVC, but we'll see.

A couple more questions.  What should I do about usage of non-standard
C++/CPP extensions that aren't supported in MSVC?  In particular the ones
I've run into are range cases (case 1...10:), implied ?: arguments ( e.g. a
= b?:1;), and varargs #define macros.  Is it preferred that I #ifdef them
with equvalent code, or should I just fix them to not use extensions and not
involve #ifdefs?

I'm thinking I'll use the _MSC_VER define for the #ifdefs rather than WIN32,
in case anyone makes a non-MSVC Windows port.

When you say "create separate functional and non-functional patches", I
don't follow.

I assume you want me to submit patches as diffs.  What branch should I be
using for these changes?  Can I use 0.20 fixes?  That's what my backend is
running, so it would be difficult to debug if I needed to patch against the
trunk.

In general I'm going to try to modify the code as little as possible, and do
most of the compatibility fixes through headers.  Areas where this might not
be possible are inline assembly and explicit library loading (extensions),
to name two that come to mind.

Thanks,
Jerry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20061004/22558302/attachment-0001.htm 


More information about the mythtv-dev mailing list