- - - -

Compiling ScummVM/Mac OS X 10.2.8Compiling ScummVM/Mac OS X 10.2.8

So, I'm going to attempt to document how I was able to compile ScummVM on my 10.2.8 laptop*. However, if you don't have 10.2.8, I recommend you check out the cross compiling page.

# Problems

• kyra uses a lot of templates, and gcc 3.1 can't handle it, so I had to disable it (--disable-kyra)
• After running make bundle, I get "Text::Wrap version >= 2001.0929 is required. You have 98.112902", so it needs to be updated

# Getting a Compiler

So, as you may or may not know, you need gcc to compile gcc. Yes, it's one of those loopholes in life. So, we have to get the precompiled XCode from Apple. So, go to their developer site and sign up. Then, go to downloads, Development Tools, and way down at the bottom should be the December 2002 development tools for 10.2.8. That's the one you want. So, download it and install it. However, once it's installed, don't delete it as you may have to install it again**.

# Getting the Libraries

There is no really specific order except: SDL must be compiled before libmpeg2, libogg must be compiled before libvorbis libogg must be compiled before flac

## SDL

First off, we need to get the 1.2.8 version of SDL. Nothing higher than that compiles on 10.2.8 (it's broken currently). If you try to compile higher than 1.2.8, for example 1.2.12, it will give you a whole bunch of warnings about "__VEC__" before some errors.

Then, as long as you have 1.2.8, you should be ok. But, I wasn't***

Run:

./configure
make install


## zlib

Zlib is included with the developer tools, but it's too old to be used with ScummVM. So, download the zlib 1.2.3 source and run:

./configure
make install


./configure
make install


## libogg/libvorbis

./configure
make install


And, then the same for libvorbis. libogg must be compiled first.

## flac

./configure
make install


## libmpeg2

./configure
make install


There will be errors found, but it will turn off the preprocessing mode and compile fine, so don't worry about it.

## libfluidsynth

./configure
make install


## nasm

./configure
make install


Just ignore the 100's of warnings you will get ;)

# Configuring Configure

Assuming you already compiled SDL, we need to point ScummVM in the right direction. Open up configure in your favorite text editor and change the _sdlpath="$PATH" to _sdlpath="/usr/local/bin". # Compiling ScummVM If you just want the engines that are enabled always just run (see Problems about kyra): ./configure  However, for other ones (such as Lure, CruisE, and Drascula) run: ./configure --enable-lure --enable-cruise --enable-drascula  After that is run, make sure that all the libraries you installed appear on the text that Terminal should spit out at you. ## Executable Only Just run make  To use this, just drag it into the Terminal and hit enter. ## Bundle We have to modify ports.mk a bit, so open it up ### Change Library Path Change OSXOPT=/sw  to OSXOPT=/usr/local  Reason: Fink puts the installs there, but we compiled from scratch, so they're in a different folder. ### Change sdl-config Path Change OSX_STATIC_LIBS := sdl-config --static-libs  to OSX_STATIC_LIBS := /usr/local/bin/sdl-config --static-libs  Reason: It needs to be set to the correct path to find the file. ### Make libfluidsynth Static Add OSX_STATIC_LIBS +=$(OSXOPT)/lib/libfluidsynth.a


after

ifdef USE_MPEG2


after

OSX_STATIC_LIBS += $(OSXOPT)/lib/libfluidsynth.a  Reason: zlib should be compiled statically to be used on all systems Remove -lz  Reason: We're compiling zlib statically, not dynamically. ### Remove SystemStubs Remove -lSystemStubs  Reason: Not needed, and not in 10.2.8 ### Add CoreFoundation Framework Add -framework CoreFoundation \  after -framework CoreMIDI \  Reason: Corrects linker error. ### Add CoreService Framework Add -framework CoreServices \  after -framework CoreFoundation \  Reason: Corrects linker error. ### Add CoreAudio Framework Add -framework CoreAudio \  after -framework CoreServices \  Reason: Corrects linker error with libfluidsynth. ### Other Change $(OSX_STATIC_LIBS) \


to

\$(OSX_STATIC_LIBS)


Reason: Can cause errors while compiling.

TODO (See Problems)