Difference between revisions of "Building EDuke32 on Mac OS X" - EDukeWiki

# Difference between revisions of "Building EDuke32 on Mac OS X"

From EDukeWiki

Revision as of 23:52, 13 March 2012 (view source) Hendricks266 (talk | contribs) ← Older edit | Revision as of 18:03, 14 March 2012 (view source) Hendricks266 (talk | contribs) (new info thanks to LSDNinja) Newer edit →
Line 7: | Line 7:
| * [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions]. |  | * [http://dukeworld.duke4.net/eduke32/synthesis/old/ Old] and [http://dukeworld.duke4.net/eduke32/old_versions/source_code/ Older versions].
− | == Compiler Setup == | + | == Build Setup ==
| + |
| + | === Compiler ===
| #Install Xcode. |  |
− | #You need to define the root directory of your SDL installation. Edit the file ''build/Makefile.shared''. In most cases you only have to change SDLROOT to match your setup. For example: if you have [http://www.macports.org/ MacPorts] (aka DarwinPorts) installed then use ''/opt/local''. | + | #Download and install the Xcode command line tools:
| + | ##To get those you first need to have a Developer ID (go to the [https://developer.apple.com/devcenter/mac/index.action Mac Dev Center] and click 'Register' in the top right hand corner and follow the steps. If you already have an Apple ID then you can link your developer ID to that. Don't worry, basic dev accounts are free.
| + | ##Open Xcode and go into its preferences dialog (Xcode -> Preferences in the menu bar or Command+,) and, in the 'Downloads' tab, click 'Install' next to 'Command Line Tools'. At this point you'll be prompted for the Developer ID you set up earlier. Enter it and your password and it should be on its way.
| + |
| + | === MacPorts ===
| + |
| + | First, install [http://www.macports.org/ MacPorts]. Make sure you have the correct version for your OS X version.
| + |
| + | You then need to edit a couple of MacPorts' config files to make sure it builds what's needed correctly. At a terminal prompt, type:
| + |
| + | sudo nano /opt/local/etc/macports/variants.conf
| + |
| + | When prompted, enter your password and hit enter then add the following to the end of the file:
| + |
| + | +universal
| + | +no_x11
| + |
| + | Then hold down Ctrl and press X to exit nano. You'll be asked if you want to save the file. Press 'Y'.
| + |
| + | Now you have to make sure both i386 and x86_64 versions of things are being built by typing
| + |
| + | sudo nano /opt/local/etc/macports/macports.conf
| + |
| + | Enter your password again if prompted and then scroll down until you get to the "'''universal_archs'''" line and make sure both i386 and x86_64 are in there.
| + |
| + | Finally you need to install the libvpx and pkg-config ports by typing:
| + |
| + | sudo port install libvpx pkgconfig
| + |
| + | again entering your password if prompted.
| + |
| + | === Final Steps ===
| + |
| #The necessary [[#Frameworks|Frameworks]] should be installed globally. |  |
| #Run <code>./osxbuild.sh</code> and hope for the best! |  |

## Revision as of 18:03, 14 March 2012

You can get help here: http://forums.duke4.net/topic/4242-building-eduke-on-mac-os-x/

## Getting source files

- Current version (You need to install the subversion program) :

    svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32/polymer/eduke32

- Source tarballs (Lite subversion snapshots, it does not include metadata, Apple compiled libraries, third-party jaudiolib and Photoshop files).
- Old and Older versions.

## Build Setup

### Compiler

1. Install Xcode.
2. Download and install the Xcode command line tools:
   1. To get those you first need to have a Developer ID (go to the Mac Dev Center and click 'Register' in the top right hand corner and follow the steps. If you already have an Apple ID then you can link your developer ID to that. Don't worry, basic dev accounts are free.
   2. Open Xcode and go into its preferences dialog (Xcode -> Preferences in the menu bar or Command+,) and, in the 'Downloads' tab, click 'Install' next to 'Command Line Tools'. At this point you'll be prompted for the Developer ID you set up earlier. Enter it and your password and it should be on its way.

### MacPorts

First, install MacPorts. Make sure you have the correct version for your OS X version.

You then need to edit a couple of MacPorts' config files to make sure it builds what's needed correctly. At a terminal prompt, type:

    sudo nano /opt/local/etc/macports/variants.conf

When prompted, enter your password and hit enter then add the following to the end of the file:

    +universal
    +no_x11

Then hold down Ctrl and press X to exit nano. You'll be asked if you want to save the file. Press 'Y'.

Now you have to make sure both i386 and x86_64 versions of things are being built by typing

    sudo nano /opt/local/etc/macports/macports.conf

Enter your password again if prompted and then scroll down until you get to the "universal_archs" line and make sure both i386 and x86_64 are in there.

Finally you need to install the libvpx and pkg-config ports by typing:

    sudo port install libvpx pkgconfig

again entering your password if prompted.

### Final Steps

1. The necessary Frameworks should be installed globally.
2. Run `./osxbuild.sh` and hope for the best!

## osxbuild.sh Documentation

    usage: osxbuild [onlyzip] [noppc] [no86] [no64] [tools] [--debug=<0|1>]

- onlyzip will skip building the executable and simply package it into a zip file. Mostly for internal use.
- noppc, no86, and no64 disable PowerPC, x86, and x86_64 builds respectively.
- tools builds and installs the Build tools in addition to the main executables.
- --debug= takes either 0 or 1 as a parameter to disable or enable additional building of the debugging builds. Currently, it defaults to off.

## Frameworks

EDuke32 requires the following frameworks to function:

- SDL.framework
  - (old versions)
- SDL_mixer.framework
  - (old versions)

The error message at the right will be displayed if these frameworks are not properly installed. You may install these at any or all of the following locations:

- Global: `/Library/Frameworks`
- Per-User: `~/Library/Frameworks`
- Per-App (Portable): `<app bundle>/Contents/Frameworks`

For more information see the relevant article on the Mac OS X Developer Library.

## Game Data

To play the game, the files you need are DUKE3D.GRP and DUKE.RTS. They, as well as any other data you have, such as the HRP, music packs, and mods, can be placed in the following locations, depending on the circumstances in which you want them to be used:

- `/Library/Application Support/EDuke32/`
- `~/Library/Application Support/EDuke32/`
- in the same directory as the .app bundle
- in the same directory as the binary

## External Links

- Deprecated guide: http://www.spam-filter.de/osx/eduke32_on_os_x

Retrieved from "http://wiki.eduke32.com/w/index.php?title=Building_EDuke32_on_Mac_OS_X&oldid=10378"