Hello. <br>I'm trying to build the MythTV for Mac OS X 10.4 to run on an AppleTV (which runs a stripped down 10.4). The only MythTV components I'm after right now are the backend components: MythBackend, MythFillDatabase, MythCommFlag, and MythJobQueue -- no GUI components. I'll ultimately view the shows with an up-and-coming plugin for Boxee: MythBoxee, and I'll manage show recordings via Mythweb. I already demonstrated that the meager AppleTV hardware only used 40% of my CPU when watching 720p HD via Boxee, so long as the video was encoded properly. I'm very impressed.<br>
<br>My main challenge right now is cross-compiling MythTV on my 10.6 laptop for 10.4. I've been modifying <a href="http://osx-packager.pl">osx-packager.pl</a>, not messing with anything else. The command I run is: ./<a href="http://osx-packager.pl">osx-packager.pl</a> -svnbranch release-0-23-fixes -verbose -enable-backend -enable-jobtools -pluginskip -themeskip<br>
<br>The first change was a minor one which is adjusting the @targets arrays to to not have the MythTV components I didn't care about (see the 1st paragraph). AFAIK I did this right.<br><br>To do the cross-compile, I needed to do a fair bit of googling and trial and error. I'm a Java expert but I'm clueless when it comes to building UNIX oriented C/C++ apps. I've managed to build MythTV's dependencies with the exception of QT. I set the following environment variable near the top of the perl script:<br>
our $SDKROOT = "/Developer/SDKs/MacOSX10.4u.sdk";<br> $ENV{'SDKROOT'} = $SDKROOT;<br>The critical thing now is modifying the CFLAGS env and LDFLAGS env. I altered 2 relevant lines of the script to be these two lines:<br>
$ENV{'CFLAGS'} = $ENV{'CXXFLAGS'} = $ENV{'CPPFLAGS'} = "-isysroot $SDKROOT -arch i386 -mmacosx-version-min=10.4 -I$SDKROOT/usr/include/gcc/darwin/3.3 -I$PREFIX/include";<br> $ENV{'LDFLAGS'} = "-isysroot $SDKROOT -arch i386 -mmacosx-version-min=10.4 -L$PREFIX/lib";<br>
Two tricks here were: firstly discovering that LDFLAGS needed to use isysroot (like CFLAGS does) not syslibroot, and secondly that the gcc/darwin related path there was needed to resolve stdarg.h not being able to process the line: #include_next <stdarg.h><br>
<br>I've read a bunch of pages on QT... and in the end I downloaded it precompiled for v4.7 for the Mac "Carbon" framework since Qt's Cocoa-only support doesn't support Mac 10.4. Hopefully in the end I can simply copy the Qt Mac Framework directories over to the AppleTV and have that work. I think myth is currently compiling against 4.6 headers which managed to get on the build path from an earlier failed build attempt but hopefully that doesn't matter.<br>
<br>I'm not sure how to cross-compile MythTV for 10.4. I've tried something or two but I'm running out of steam... not being familiar with any of these technologies (I'm a Java guy remember), I feel lost in the deep woods. Can someone offer any tips/advise or care to help?<br>
<br>~ David Smiley<br>