[mythtv] Mac OS X patch 2

Matt Zimmerman mdz at debian.org
Wed Jun 2 02:50:59 EDT 2004


On Wed, Jun 02, 2004 at 02:21:25PM +1000, Nigel Pearson wrote:

> >The #ifdefs around the & MM_MMX changes are unnecessary in both places;
> 
> 	Sadly, no:
> 
> % make
> cc -c -pipe -Wall -W -Os -O2 -Wno-missing-prototypes -fPIC  
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" 
> -DCONFIG_DARWIN -I/Volumes/Backups/qt/mkspecs/default -I. 
> -I/usr/local/include -I../../libs/libmythtv -o filter_denoise3d.o 
> filter_denoise3d.c
> filter_denoise3d.c: In function `denoise3DFilter':
> filter_denoise3d.c:441: warning: implicit declaration of function `emms'
> rm -f libdenoise3d.dylib
> c++ -headerpad_max_install_names -bundle -o libdenoise3d.dylib 
> filter_denoise3d.o
> ld: Undefined symbols:
> _emms

emms() should be defined as an empty macro on non-i386.  If you could find
out where that isn't happening and patch it there, that would be much better
than #ifdefing every occurrence of emms().

> >mm_support() always returns 0 for non-i386.
> 
> 	True, but the function won't compile on a non-intel machine,
> because #include "mmx.h" is #ifdef i386'd.  I need either that extra
> #ifdef, or to move the one before that #include, and add another few
> in lib*/i386/mmx.h

There is an i386 definition for mm_support(), and a non-i386 one.  The
non-i386 one looks like this:

int mm_support(void) { return 0; }

which I'm fairly confident will compile just about anywhere.
What error did you get when compiling the existing code?

> >You conditionalized some stuff on __linux__ which is not Linux-specific,
> >but will be shared by things like FreeBSD in some cases.  That needs to
> >be fixed.
> 
> 1) From my point of view, #ifndef _WIN32 is less correct than #ifdef 
> __linux__
>
> 2) If the code is also relevant for *BSD, then it becomes something like
>    #if defined(__linux__) || defined(FREEBSD) || defined(NETBSD)
> 
> 3) True. I was lazy in some spots. The MythCDROM and MediaMonitor
>    classes should be modified (even if only with dummy functions)
>    for non Linux platforms.

I'm just letting you know what needs to happen in order to get this merged.
I want to avoid breaking or setting back other ports by merging new stuff.

-- 
 - mdz


More information about the mythtv-dev mailing list