I've begun porting the code over to Mac OS X 10.5.1, because I'm annoying at how crappy Front Row is, and I've been wanting to use my Mac as a media center. I will have the TV connected to the second DVI port, so I can't just install Linux

Anyway, I've gotten to the point where the code compiles and almost links, but I'm missing some libraries that come already compiled for Linux, like libXBMS, libshout, librtv, etc. I presume I should build them from the trunk code XMBC/sources/ directories?

So far the port is progressing fairly smoothly. The one hurdle that I haven't solved yet is thread local storage, as OS X doesn't have support for the __thread directive. I'm planning to use Portaudio for sound.

Also, where did you get that skin, becuase I can tell from the logo in the top left corner that it is a relativly old version of the PM3 skin(!)

elan Wrote:I've gotten to the point where the code compiles and almost links, but I'm missing some libraries that come already compiled for Linux, like libXBMS, libshout, librtv, etc., etc. I presume I should build them from the trunk code XBMC/sources/ directories?

/xbmc/trunk/sources/ only contains the Xbox versions of those libraries, I think that you may want to /xbmc/branches/linuxport/sources/ instead for the Linux versions.

elan Wrote:Mac SDL doesn't use X11. Is that going to be an issue??

No, (niether does Windows and as you may know it is possible to build to/for Win32 and SDL from the Linux branch using Microsoft Visual Studio .NET 2003).

For ideas on how to build SDL using OpenGL for Mac OSX I suggest you refer to the documentation (Wiki) on http://www.libsdl.org

elan Wrote:I'm trying to build libGoAhread from xbmc/lib/libGoAhead, and I can build what's in there, but it seems to be missing lots of stuff (e.g. all the um* stuff and the ej* stuff). Any pointers?

PS! If you like to chat with the programmers working on the XBMC Linux port then use an IRC client (like mIRC) to visit #xbmc-linux on freenode
....you may also sometimes find developers hanging out at #xbmc on freenode

Well, i see that you have little problems, so count with me. The libraries maybe yhou can get them with fink, and no: OSX SDL doesn't need of X11 You can compile it at the "unix way" from terminal and fink and other things (now Leopard has real support to this) or the "osx way" with XCode (that i preffer, but this will not be easy to port...). In any case there is an app that port from makefiles to XCode projects, look for it

Yeah, I need to figure out how to do TLS on OS X. I think I'll try to use pthread_setspecific...if this works, the Linux port could probably use this as well, so as to have exactly the same implementation, even though using __thread is so much easier.

By the way, I've been treating the OS X target as sort of a sub-port of Linux, so I leave _LINUX defined and then do...

#ifdef __APPLE__
...
#endif

...since OS X is pretty much UNIX. In the long term, it may make sense to define something like _UNIX at the high level and then #ifdef for LINUX, OS X, etc.

I hope this is alright, it certainly made the port easier, but please let me know if this isn't seen as the right way of doing things. Where it made sense I have whole new subclasses for things (like the PortAudio player) that live alongside the Linux and Windows ones.

Anyway, I want to get my changes merged into the branch as soon as possible. I need to do a bit more work and get things working better first.