[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