Opened 7 years ago

Closed 3 years ago

#10716 closed Patch - Bug Fix (Invalid)

enable MythTV to compile on mingw-w64 (Windows 64bit)

Reported by: lexvictory@… Owned by: dblain
Priority: minor Milestone: unknown
Component: Ports - Windows Version: 0.25-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Due mainly to the sizeof(long) on mingw-w64, MythTV won't compile on mingw-w64, spouting numerous loss of precision errors. See http://colinux.wikia.com/wiki/Dashboard_for_developing_a_64_bit_coLinux for a table of integer sizes vs mingw-w64.

The patch I've created for 0.25 allows compilation to complete, though I have not yet tested functionality since my backend is still 0.24, but if my tests doing this on fixes/0.24 previously are anything to go by things should work. I have not checked mythplugins, as I have never really managed to get them to cross compile.

It will probably need someone more familiar with integer sizes to check that it doesn't mess any other platform up.

Attachments (1)

0001-enable-compilation-on-mingw32-w64-64-bit-mingw.patch (17.9 KB) - added by lexvictory@… 7 years ago.
Fix mingw-w64 compilation (0.25)

Download all attachments as: .zip

Change History (5)

Changed 7 years ago by lexvictory@…

Fix mingw-w64 compilation (0.25)

comment:1 Changed 7 years ago by beirdo

Owner: set to beirdo
Status: newassigned

comment:2 Changed 7 years ago by beirdo

I think you are misusing intptr_t in a few places here. That is meant to be used only for pointer values, and unless I'm mistaken, some of the ones you've changed should either be (u)int32_t or (u)int64_t as they are actually numbers not pointers.

The idea is good though.

comment:3 Changed 6 years ago by stuartm

Owner: changed from beirdo to dblain

comment:4 Changed 3 years ago by Karl Egly

Resolution: Invalid
Status: assignedclosed

I'm closing this ticket as it has not seen any activity in four years now. Someone has to go through the code and properly pick intptr_t, ptrdiff_t, (u)int32_t or (u)int64_t depending on the situation.

Also untested fiddling with embedded assembler code makes me nervous, even if its just casts ;-)

Feel free to reopen with an updated patch.

PS: I like the idea, too. But someone has to manually look at every single case.

Note: See TracTickets for help on using tickets.