Advertisement

Making a MacOS release

Started by August 04, 2005 06:44 PM
7 comments, last by Ravuya 19 years, 3 months ago
Hi, I am working on a cross platform game.. Everyone on the team is developing in Linux using g++ (gcc) except me, I'm using VC++ on Windows. Anyway one guy on the team has a Mac (he's our composer), so is there any way we can compile a release for him so he can see how the game looks? I've heard some things about Mac OS X in particular, that it is somewhat similar to linux but I doubt an executable created on Linux would work if you just loaded it up on a mac... Edit: btw we are using SDL, OpenGL, DevIL, and Lua, if that helps Thanks roos
Mac's ship with g++, so the easiest way to do it would be to put the source on the Mac and build it. Otherwise you'll need to set up g++ on a linux machine to cross compile for Macs. Not sure exactly how to do it, but a web search might turn up a tutorial.

If you decide to compile on the Mac make sure you have the development packages installed (SDL-devel for example).
Advertisement
In order to build a cross-compiler for the Mac OS X on Linux, you'll need to get the system headers for the Mac. After several failed forays on to the Mac and Darwin developers pages, I have yet to find the system headers available for download. (Maybe you can, if so, let me know where. :) ) So if you can't find them for download, you'll need to copy the headers from an actual OS X box, preferably with XCode installed. If you can get that far, I can give you more detailed information on how to create a cross compiler targeting OS X.
Cross-compiling from any other platform to MacOS would be extremely difficult. The best you could hope for, assuming you use a standard configure/make/make install build system, would be to have your Mac guy build the game himself. MacOS and Linux share most of the POSIX library, as well as X11, GLX, and most other parts that are considered standard in a modern UNIX operating system. If you can build your game under FreeBSD 5.x, there is a good chance of it building under MacOS X.

Your composer will need to have all the BSD extras installed, along with the X11 SDK, and the developer tools.
Free Mac Mini (I know, I'm a tool)
The easiest way is to get the guy on the Mac to install the developer tools, go to the console and use your existing Makefile. Provided that everything works well (you can install required libraries using Fink) it should just work.
Talk to the composer and convince him to give shell access to one of the Unix developers, they'll know what to do..
You'll probably encounter a few minor issues (getting the libraries to work, potential byteorder problems, etc) but SDL does most of the work for you.
Advertisement
"should just work" -- yeah, right.

If you want something running on a Mac (even with Mac OS X) you need to actually develop on a Mac. There's bound to be problems that would prevent the program from working right, that you can easily find if actually developing on the machine.
enum Bool { True, False, FileNotFound };
Oh cool, I like the idea of giving one of the linux dev'rs shell access, they might have some clue of what to do. For now I've told the composer to basically download all the libraries and try compiling it himself which might be a bit of a challenge since he's never compiled anything before but he's motivated enough to give it a shot :)

Thanks for all the input! :)
Quote: Original post by roos
Oh cool, I like the idea of giving one of the linux dev'rs shell access, they might have some clue of what to do. For now I've told the composer to basically download all the libraries and try compiling it himself which might be a bit of a challenge since he's never compiled anything before but he's motivated enough to give it a shot :)

Thanks for all the input! :)


Make sure your code is endian-independent, if you start seeing wacky crashes, bollocked textures or hilariously deformed models you should probably take a look at SDL_endian.h.

This topic is closed to new replies.

Advertisement