[mythtv] Cross-compiling on Mac OS X 10.6 to 10.4 (tiger)

Emlyn Bolton emlyn.bolton at gmail.com
Tue Feb 8 17:03:13 UTC 2011


On 7 February 2011 04:29, Nigel Pearson <nigel at ind.tansu.com.au> wrote:

>
> > So, in a plea to all those out there with Macs, are any of you running
> tiger or leopard, prior to 10.5.6 and can build either of the fixes/0.23 and
> fixes/0.24 natively, it would be great to have those images up on the the
> sourceforge site!
> >
> > If there's interest for cross-compiling for 10.4, I'm very much eager to
> help in this regard but I'd probably want to to that for head.
>
>
> Well, I haven't cracked X-compiling yet,
> but 9 hours hacking yesterday, and 3 today,
> let me build HEAD on 10.4 using these changes
>
>
diff -ru GIT/myth/mythtv/configure src/mythtv/configure
--- GIT/myth/mythtv/configure   2011-01-11 23:05:28.000000000 +1100
+++ src/mythtv/configure        2011-02-07 21:59:21.000000000 +1100
@@ -3095,13 +3095,14 @@
            disable mmx
            enable disable_mmx_for_debugging   # prevent later call to die
        fi
+        disable ffmpeg
        disable opengl_vsync
        disable v4l
        disable x11
        # Workaround compile errors from missing gmtime_r/localtime_r/uint
def
        CFLAGS=`echo $CFLAGS | sed 's/-D_POSIX_C_SOURCE=200112//'`
        ###### Standard ffmpeg configure stuff follows:
-        SHFLAGS='-dynamiclib -Wl,-single_module
-Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)
-Wl,-read_only_relocs,suppress'
+        SHFLAGS='-dynamiclib -Wl,-single_module
-Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,99
-Wl,-read_only_relocs,suppress'
        strip="${strip} -x"
        add_ldflags -Wl,-dynamic,-search_paths_first
        SLIBSUF=".dylib"
@@ -4621,7 +4622,7 @@

 if test $target_os = darwin; then
  # Qt, by default builds .app bundles everywhere. Prevent this.
-  enabled mac_bundle || echo "CONFIG -= app_bundle" >> $MYTH_CONFIG_MAK
+  enabled mac_bundle || echo "CONFIG-=app_bundle" >> $MYTH_CONFIG_MAK
 fi

 cat > $TMPH <<EOF
diff -ru GIT/myth/mythtv/libs/libmythtv/darwinfirewiredevice.cpp
src/mythtv/libs/libmythtv/darwinfirewiredevice.cpp
--- GIT/myth/mythtv/libs/libmythtv/darwinfirewiredevice.cpp     2010-12-29
22:59:07.000000000 +1100
+++ src/mythtv/libs/libmythtv/darwinfirewiredevice.cpp  2011-02-07
08:35:54.000000000 +1100
@@ -30,7 +30,6 @@

 // Apple Firewire example headers
 #include <AVCVideoServices/StringLogger.h>
-#include <AVCVideoServices/AVSShared.h>
 #include <AVCVideoServices/MPEG2Receiver.h>

 // header not used because it also requires MPEG2Transmitter.h
diff -ru GIT/myth/mythtv/libs/libmythtv/privatedecoder_vda.cpp
src/mythtv/libs/libmythtv/privatedecoder_vda.cpp
--- GIT/myth/mythtv/libs/libmythtv/privatedecoder_vda.cpp       2010-12-29
22:59:10.000000000 +1100
+++ src/mythtv/libs/libmythtv/privatedecoder_vda.cpp    2011-02-07
08:24:45.000000000 +1100
@@ -191,7 +191,7 @@
        CFDictionaryCreateMutable(kCFAllocatorDefault, 1,
                                  &kCFTypeDictionaryKeyCallBacks,
                                  &kCFTypeDictionaryValueCallBacks);
-    OSType cvPixelFormatType = kCVPixelFormatType_422YpCbCr8;
+    OSType cvPixelFormatType = '2vuy';
    CFNumberRef pixelFormat  = CFNumberCreate(kCFAllocatorDefault,
                                              kCFNumberSInt32Type,
                                              &cvPixelFormatType);
diff -ru GIT/myth/mythtv/libs/libmythui/mythrender_opengl.cpp
src/mythtv/libs/libmythui/mythrender_opengl.cpp
--- GIT/myth/mythtv/libs/libmythui/mythrender_opengl.cpp        2011-01-20
13:03:35.000000000 +1100
+++ src/mythtv/libs/libmythui/mythrender_opengl.cpp     2011-02-07
08:05:43.000000000 +1100
@@ -1498,7 +1498,7 @@

    GLint maxtexsz = 0;
    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxtexsz);
-    glGetIntegerv(GL_MAX_TEXTURE_UNITS, &m_max_units);
+    glGetIntegerv(GL_MAX_TEXTURE_UNITS, (GLint*)&m_max_units);
    m_max_tex_size = (maxtexsz) ? maxtexsz : 512;

    m_extensions = (const char*) glGetString(GL_EXTENSIONS);
diff -ru GIT/myth/mythtv/libs/libmythui/util-osx-cocoa.mmsrc/mythtv/libs/libmythui/
util-osx-cocoa.mm
--- GIT/myth/mythtv/libs/libmythui/util-osx-cocoa.mm    2010-12-29
22:59:13.000000000 +1100
+++ src/mythtv/libs/libmythui/util-osx-cocoa.mm 2011-02-07
08:02:03.000000000 +1100
@@ -48,5 +48,5 @@
    if (!screen)
        return NULL;
    NSDictionary* desc = [screen deviceDescription];
-    return [[desc objectForKey:@"NSScreenNumber"] intValue];
+    return (CGDirectDisplayID)[[desc objectForKey:@"NSScreenNumber"]
intValue];
 }
diff -u GIT/packaging/OSX/build/osx-packager.pl osx-packager.pl
--- GIT/packaging/OSX/build/osx-packager.pl     2011-02-05
21:01:11.000000000 +1100
+++ osx-packager.pl     2011-02-07 23:05:37.000000000 +1100
@@ -68,7 +68,7 @@
        'mysqlclient',
        #'dbus',
        'qt-4.6',
-        'yasm',
+        'make'
      ],
  'mythplugins'
  =>  [
@@ -252,6 +252,11 @@
    'url'  => 'http://samba.org/ftp/ccache/ccache-3.1.4.tar.bz2',
  },

+  'make' =>
+  {
+    'url' => 'file://make-3.82.tar.gz',
+  }
+
 );


@@ -522,7 +527,7 @@
 $ENV{'QTDIR'} = $PREFIX;

 # If environment is setup to use distcc, take advantage of it
-our $standard_make = '/usr/bin/make';
+our $standard_make = '/Volumes/MythBuild/.osx-packager/build/bin/make';
 our $parallel_make = $standard_make;
 our $parallel_make_flags = '';


(also attached)


So, I have a bare MythFrontend.app (no plugins).
Untested for now (apart from load/run on 10.4 and 10.6).
OpenGL is probably broken. Head hurts. Gotta go to bed.

Could be tarred up for others to test, but might be just
as fast for someone else to build with those changes?

I'll give your changes a go on my environment and then try the cross
compiling part too. It'll be next week - I'm out of town from Thursday -
Monday.

Cheers,

Emlyn


Note 1: My source tree was g8f6f7aa

Note 2: The 'yasm' removal might have been accidental.

Note 3: Git did not build on 10.4. I had to take an already
cloned/checked out tree and use --srcdir --force to build it.

Note 4: Because there was no git available:

% MythFrontend.app/Contents/MacOS/MythFrontend --version
Please attach all output as a file in bug reports.
MythTV Version   : Unknown
...

should be v0.25pre-987-g8f6f7aa



--
Nigel Pearson, nigel at ind.tansu.com.au|Smart mice ... varmints|
Telstra Net. Eng., Sydney, Australia |used vector formulas.  |
Office: 9202 3900    Fax:  9212 6348 |  How'd you catch them?|
Mobile: 0408 664435  Home: 9792 6998 |Smart cheese.          |



_______________________________________________
mythtv-dev mailing list
mythtv-dev at mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mythtv.org/pipermail/mythtv-dev/attachments/20110208/4cb0a110/attachment.htm>


More information about the mythtv-dev mailing list