• 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 9
Porting XBMC to Mac OS X (Leopard) - Developers only!
#61
Revision 11180 now contains all the changes I needed to compile XBMC on Leopard 10.5.1.

I also checked in an XCode 3.0 project, although I've run into so many serious issues with XCode (especially debugging), that I'm now moving to Eclipse, which seems to be a much better environment (plus I'm used to it from Java work). I'll check in the Eclipse project shortly.

You'll need to install a bunch of MacPorts stuff, and the 1.2.12 libSDL has a nasty bug that causes lots of crashes (that's fixed in SVN).

I'll try to post more instructions to the Wiki shortly.

Happy 2008, everyone! XBMC on OS X is going to be great!

-elan
Reply
#62
Versatile Wrote:That's really really nice work elan
Can you already tell us what you're compute configuration is (cpu/mem/etc) and how long it takes to boot ?

Thanks! I have a quad core 3GHz box with 8GB of memory, and it boots nearly instantly. Much faster than Front Row. Also, bear in mind XBMC is built to run in a really lean environment (the XBox), so it does really nicely on faster hardware.

-elan
Reply
#63
Great to see that you're checking in an Eclipse project, I can't wait to start using Eclipse to build XBMC. I was actually working on a similar patch, but you beat me to it. Thanks a million!

PS: You may want to add a newline to the end of ALSADirectSound.cpp, it causes a warning.
Reply
#64
monkeyman_67156 Wrote:Great to see that you're checking in an Eclipse project, I can't wait to start using Eclipse to build XBMC. I was actually working on a similar patch, but you beat me to it. Thanks a million!

Glad to hear others are interested as well! I hope to check it in tomorrow evening.

monkeyman_67156 Wrote:PS: You may want to add a newline to the end of ALSADirectSound.cpp, it causes a warning.

Many thanks, I just fixed that.

-elan
Reply
#65
Also, SDL_SemWaitTimeout2() in XSyncUtils.cpp can exit without a return value.
Reply
#66
monkeyman_67156 Wrote:Also, SDL_SemWaitTimeout2() in XSyncUtils.cpp can exit without a return value.

Very true Big Grin Fixed, thanks!

-elan
Reply
#67
I'm sorry, I don't mean to nit, really. But, I think nRet should be returned at the very bottom of the function, after the end of the #ifdefs.

If APPLE is not defined, the function can still return without a value. Also, I think that there's some code at the end that is unreachable if APPLE is defined.

Thanks again for your work.
Reply
#68
monkeyman_67156 Wrote:I'm sorry, I don't mean to nit, really. But, I think nRet should be returned at the very bottom of the function, after the end of the #ifdefs.

If APPLE is not defined, the function can still return without a value. Also, I think that there's some code at the end that is unreachable if APPLE is defined.

Thanks again for your work.

All valid points. I fixed it up for __APPLE__ and left a comment for the Linux folks, as I'm not sure what the default return should be.

Thanks, and Happy New Year.

-elan
Reply
#69
Looks good to me.

Have a happy holiday.
Reply
#70
Wow! Perfect!
Can you upload a preview? I'm trying to build with xcode 3.0 but I have a lot of problems!
Please elan post a preview or how to compile XBMC_OSX!

Good Job!
Reply
#71
Do you have a .dmg? xD
Reply
#72
Yeah, I suggest elan will write a short README.osx to describe how to build + develop. Thanks!
Reply
#73
Well I managed to get it to compile on my macbook pro. Unfortunately it does not run.

Here is the first part of the backtrace:

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
Crashed Thread: 0

Thread 0 Crashed:
0 XBMC 0x002ceda6 CUtil::GetHomePath(CStdStr<char>&) + 74 (cstring:119)
1 XBMC 0x00080d5a CApplication::Create(void*) + 134 (Application.cpp:820)
2 XBMC 0x0035c348 SDL_main + 160 (XboxMediaCenter.cpp:59)
3 XBMC 0x0038f79c -[SDLMain applicationDidFinishLaunching:] + 76

Not really got the time at the moment to look deeper into it.

To get it to compile in xcode 3.0 you need to make a few changes to the project properties.

1) Change Valid Architectures to i386 only.
2) Add the header search path to where your libSDL headers are. In my case this is /usr/local/include/
3) Do the same for libs. In my case /usr/local/lib/
4) Set user Header Searchpath to /opt/local/Library/Frameworks/Python.framework/Versions/2.4/include/

Use macports to install python2.4 and the other libraries mentioned in the readme.linux file. Do not install SDL with macports, go to http://www.libsdl.org/ and download the svn version of 1.2. Also download SDL_image, SDL_mixer (same site) and SDL_gfx from http://www.ferzkopp.net/joomla/content/view/19/14/

I'm pretty sure that is all I did.
Reply
#74
ok, managed to get a bit further.

export XBMC_HOME=<dir where xbmc binary is run from>

Gives me a white app that is almost fullscreen.

Missing from my previous post was, you need to add /opt/local/lib/ to the Library Search Paths in the xcode project.
Reply
#75
Thumbs Up 
Great stuff! ...and happy new year!

elan Wrote:I'll try to post more instructions to the Wiki shortly.
You have Ninja status for the WIKI right? http://xboxmediacenter.com/wiki/index.ph...ction=edit

Big Grin
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
  • 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 9

Logout Mark Read Team Forum Stats Members Help
Porting XBMC to Mac OS X (Leopard) - Developers only!3