|
|
Line 1: |
Line 1: |
| == Introduction ==
| |
|
| |
|
| The following is the result of a lot of hacking and working around small problems, and certainly not complete yet nor probably the way you should actually be building TMW for Mac.
| |
|
| |
| Note that TMW and all libraries are being installed to /Users/bjorn, you should probably use your own home directory. ;-)
| |
|
| |
| == Dependencies ==
| |
|
| |
| All dependencies except the OpenGL library were statically linked.
| |
|
| |
| === OpenGL ===
| |
|
| |
| On Tiger, we found the OpenGL headers in:
| |
|
| |
| /System/Library/Frameworks/OpenGL.framework/Headers
| |
|
| |
| These were copied to:
| |
|
| |
| /Users/bjorn/include/GL
| |
|
| |
| This is in order for Guichan and TMW to find "GL/gl.h".
| |
|
| |
| === libpng ===
| |
|
| |
| libpng 1.2.8 does not use GNU autotools. We used "scripts/makefile.darwin" after modifying it to change the install prefix. Static libraries were installed by "make -f makefile.darwin install-static".
| |
|
| |
| === libogg ===
| |
|
| |
| === libvorbis ===
| |
|
| |
| While the vorbis.com download page is still listing libvorbis 1.0.1, this version failed on Mac so libvorbis 1.1.1 was used which compiled fine.
| |
|
| |
| === libxml2 ===
| |
|
| |
| === SDL ===
| |
|
| |
| After installing SDL, make sure sdl-config is in your path (like add /Users/bjorn/bin to the PATH environment variable). This ensures dependent packages can find the SDL headers and libraries.
| |
|
| |
| === SDL_image ===
| |
|
| |
| === SDL_mixer ===
| |
|
| |
| === Guichan ===
| |
|
| |
| We took the Guichan 0.4.0 release and applied one small fix to get transparency to work right on the big endian system. This fix can be found [http://guichan.sourceforge.net/forum/read.php?3,240 here].
| |
|
| |
| '''Configure command:'''
| |
|
| |
| <pre>
| |
| ./configure --prefix=$HOME --disable-shared \
| |
| --enable-force-sdl --enable-force-sdlimage --enable-force-opengl \
| |
| CXXFLAGS="-I/Users/bjorn/include -I/Users/bjorn/include/SDL"
| |
| </pre>
| |
|
| |
| === PhysFS ===
| |
|
| |
| PhysFS 1.0.0 needed a -lreadline added to its test_physfs_LDFLAGS in Makefile.in line 280.
| |
|
| |
| == The Mana World ==
| |
|
| |
| The src/Makefile.in file had to be modified to include net/win2mac.cpp.
| |
|
| |
| '''Configure command:'''
| |
| <pre>
| |
| ./configure --prefix=$HOME --with-opengl \
| |
| CXXFLAGS="-I/Users/bjorn/include -I/Users/bjorn/include/SDL -I/Users/bjorn/include/libxml2 -DMACOSX" \
| |
| LIBS="-L/Users/bjorn/lib -L/System/Library/Frameworks/OpenGL.framework/Libraries -lSDL -lpng"
| |
| </pre>
| |
|
| |
| == Problems ==
| |
|
| |
| There seems to be a crash involving attacking (possibly only certain creatures)
| |
| Performance could use some improvement (drawing windows like the chat window appears to be the main CPU hog
| |
|
| |
| == Suggestions ==
| |
|
| |
| Try --enable-static-link configure option and -static linker option.
| |
|
| |
| Managed to build a segfaulting static binary of TMW on Linux with following command:
| |
|
| |
| <pre>
| |
| ./configure --prefix=$HOME --with-opengl LDFLAGS="-static" LIBS="-L/usr/X11R6/lib/ -lssl -lcrypto \
| |
| -lpng -lmikmod -lSDL -ljpeg -lvorbisfile -lvorbis -logg -lz -lXext -lX11 -lpthread -ldl"
| |
| </pre>
| |