Opened 9 years ago

Closed 6 years ago

Last modified 6 years ago

#9653 closed Patch - Bug Fix (Invalid)

[PATCH] MacOSX fixes for cross compilation

Reported by: Lawrence Rust <lvr@…> Owned by: Nigel
Priority: minor Milestone: unknown
Component: Ports - OSX Version: Master Head
Severity: medium Keywords: mythbuild cross compile 10.4
Cc: Ticket locked: no

Description

This set of patches enables mythbuild.sh to cross compile mythtv and mythplugins to older versions of the MacOSX SDK i.e. 10.3 (ppc) and 10.4 (universal) on both Linux and MacOSX.

ffmpeg.diff

  • #define _BSD_SOURCE instead of _XOPEN_SOURCE to enable unistd.h to include definitions of struct rusage.ru_maxrss which were detected by configure and added to config.h

libmythtv.diff

  • Conditionally import QuartzCore? when detected by configure.
  • Add support for big-endian Apple systems to bswap.h

libmytui.diff

  • Remove some unuserd CoreGraphics? imports
  • Fix some opengl types
  • Add a simple cast in util-osx-cocoa.mm

mythmusic:

  • Convert std::vector to QVector, which is functionally identical, to work around missing vector::data() function in 10.3 & 10.4 STL headers.

Attachments (4)

libmythtv.diff (3.4 KB) - added by Lawrence Rust <lvr@…> 9 years ago.
libmythui.diff (1.6 KB) - added by Lawrence Rust <lvr@…> 9 years ago.
mythmusic.diff (1.4 KB) - added by Lawrence Rust <lvr@…> 9 years ago.
ffmpeg.diff (591 bytes) - added by Lawrence Rust <lvr@…> 9 years ago.

Download all attachments as: .zip

Change History (12)

Changed 9 years ago by Lawrence Rust <lvr@…>

Attachment: libmythtv.diff added

Changed 9 years ago by Lawrence Rust <lvr@…>

Attachment: libmythui.diff added

Changed 9 years ago by Lawrence Rust <lvr@…>

Attachment: mythmusic.diff added

Changed 9 years ago by Lawrence Rust <lvr@…>

Attachment: ffmpeg.diff added

comment:1 Changed 9 years ago by markk

libmythtv diff applied to master in dd6e0efc485e83a7b578 and fixes/0.24 in e28fe982692d5578a047

comment:2 Changed 9 years ago by markk

libmythui diff applied to master in 7c60905a99248c19fd12 and fixes/0.24 in f525415a9bf32c6c1be8

comment:3 Changed 9 years ago by markk

mythmusic changes applied to master in 3860dd2b6022b1bb4198 and fixes/0.24 in df16df93d3bff56405c7

comment:4 Changed 9 years ago by markk

The ffmpeg change is now the only outstanding patch in this ticket. Not my area of expertise so I'll leave it to others to decide if it is appropriate.

comment:5 Changed 6 years ago by Karl Egly

Status: newinfoneeded_new

Lawrence, the ffmpeg patch does not apply anymore. Is it still needed? I'm tempted to close this ticket as fixed as the patches to our code have been applied 3 years ago.

comment:6 Changed 6 years ago by Nigel

For a while, MythTV has required versions of Qt that do not compile on PPC or 10.4, so these patches are historically interesting, but currently useless. Closing.

comment:7 Changed 6 years ago by Nigel

Resolution: Invalid
Status: infoneeded_newclosed

comment:8 Changed 6 years ago by Lawrence Rust <lvr@…>

The remaining patch to Ffmpeg is still required for MacOS and I still distribute the patch in conjunction with my mythbuild.sh script - see http://www.softsystem.co.uk/download/mythtv/mythbuild-CURRENT.zip, (0016-ffmpeg-Fix-MacOSX-cross-compilation.patch)

MythTV can be built and ruh on MacOS 10.4 (PPC) using Qt 4.7 but requires this additional patch to configure: 0006-Allow-configuration-and-building-with-Qt-4.7.patch. The requirement for Qt >= 4.8 is unnecessary, 4.7 builds and runs fine.

Note: See TracTickets for help on using tickets.