Opened 15 years ago
Closed 15 years ago
Last modified 15 years ago
#9258 closed Patch - Bug Fix (fixed)
[PATCH] Fix mythplugins to cross compile and run on Windows
Reported by: | Owned by: | beirdo | |
---|---|---|---|
Priority: | minor | Milestone: | 0.25 |
Component: | Ports - Windows | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
MythTV plugins (0.24, 0.24-fixes and trunk) don't cross compile for Windows. See http://www.softsystem.co.uk/mythtv for howto. The attached patch fixes some problems with configure when cross compiling. In addition the patch fixes the following Windows specific issues:
- Mythmusic compile.
- Mythmusic root folder starting with a drive letter and containing backslashes.
- Mythmusic null pointer derefs.
- Mythgallery not loading pictures during startup.
- Mythgallery infinite loop when parsing some paths.
Attachments (8)
Change History (27)
by , 15 years ago
Attachment: | mythplugins-0.24.diff added |
---|
comment:1 by , 15 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 15 years ago
I'd be happy to look over and work the mythgallery portion once this is split apart.
comment:3 by , 15 years ago
Also, Lawrence, removing the disable the compilation of MythMusic when it has missing dependencies is probably not acceptable. Meeting them in the Windows Build script would be, however.
comment:4 by , 15 years ago
OK, good points. I've split the patch as follows:
- configure.diff. This also addresses comment3 above
- gallery-load.diff. Fix mythgallery to load pictures for WIN32
- gallery-path.diff. Fix an infinite loop in mythgallery with certain pathnames
- music-cdempty.diff. Fix mythmusic to empty the current playlist before playing a CD
- music-dechndlr.diff. Fix mythmusic to play files with a patname starting c:/...[[BR]]
- music-main-mingw.diff. Fix mythmusic to compile with mingw
- music-pbox-null.diff - Fix a number of null derefs in mythmusic playbackbox.cpp. These seem to be tickled more often on Win32.
by , 15 years ago
Attachment: | configure.diff added |
---|
by , 15 years ago
Attachment: | gallery-load.diff added |
---|
by , 15 years ago
Attachment: | gallery-path.diff added |
---|
by , 15 years ago
Attachment: | music-cdempty.diff added |
---|
by , 15 years ago
Attachment: | music-dechndlr.diff added |
---|
by , 15 years ago
Attachment: | music-main-mingw.diff added |
---|
by , 15 years ago
Attachment: | music-pbox-null.diff added |
---|
comment:5 by , 15 years ago
Lawrence, in music-pbox-null.diff, how about just
if (!mdata)
return;
instead of all the reindentation?
comment:6 by , 15 years ago
Also, don't think we need the comments everywhere to tell us how Windows absolute paths work, can probably remove those. We know that paths start with the driver letter on Windows. ;)
comment:7 by , 15 years ago
inline return has the same effect but introduces multi-point returns which are IMHO so-so - can lead to resource leaks etc.
OK if you want to remove the Win32 comments, but leave one somewhere. It was because of the assumption that 'all paths lead to root' (sic) that it needed fixing.
comment:8 by , 15 years ago
P.S. re. inline return. Without profiling info they can cause problems for the optimiser and the CPU's predictive branching. It's best for preventing pipeline stalls if the normal path just flows through. Otherwise gcc can generate a load of 'branch-over-and-back' style assembler.
comment:9 by , 15 years ago
comment:10 by , 15 years ago
comment:11 by , 15 years ago
comment:12 by , 15 years ago
comment:13 by , 15 years ago
Owner: | changed from | to
---|
The rest of this ticket is probably best fielded by Beirdo.
comment:14 by , 15 years ago
gallery-load.diff was incorporated as is in b0eb1ccf29
gallery-path.diff, I incorporated, then further reworked the section of code to get 9c2d32c32
Thanks.
comment:15 by , 15 years ago
Owner: | changed from | to
---|
I think that just leaves the configure script part, which I will leave for Janne, since it's his code, and I don't want to break it.
comment:16 by , 15 years ago
Re MythPlugins configure: I believe it is currently broken for OS X, as well. 1) It disables MythNetvision insisting that the Perl bindings aren't installed. Earlier in the osx-packager.pl run, the Perl bindings are reported available. 2) It disables MythMusic saying "MythMusic requires taglib 1.5 or later." Ver 1.5 is, in fact, built and installed. By commenting out these two checks, I can get both plugins to compile. From minimal testing, they both seem to be functional. Hope this isn't a me-too comment! Craig
comment:17 by , 15 years ago
Owner: | changed from | to
---|
I'll take this back as Janne is taking a break for the time being.
comment:18 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Add targetos and sysroot support to mythplugins makefile
Closes #9258. This was the last thing left for that set of patches presented to allow better Windows compiling.
Changeset: 1582957bf693a26c2f7daddaf4b5af509363bb3d
comment:19 by , 15 years ago
Milestone: | unknown → 0.25 |
---|
Lawrence,
I appreciate your past and present patches very much. The above is very difficult for me to apply all at once. Can you please break element out into a single patch so that they can be more effectively reviewed? They can all be tracked within this ticket, but applying the patch as a whole is probably a no-go.
Thanks.