SuperTuxKart 0.3 Alpha

xeno74

Gast
Hallo Forum,

ich gehöre dem Mac-Portiererteam von SuperTuxKart an.

Wir bereiten gerade den Port für die Version 0.3 vor.

Normales Kompilieren ist kein Problem mehr.

Wir wollen in regelmäßigen Abständen Test-Versionen
von STK bereitstellen und diese als AppBundle verteilen.

Dafür möchte ich SuperTuxKart gerne statisch kompilieren (inkl. SDL + Freealut von OpenAL.org).

Folgende Versuche habe ich bereits unternommen:

1. Versuch:
Code:
./configure --enable-static
2. Versuch durch Eintrag von LDFLAGS in das Makefile:
Code:
LDFLAGS = -framework OpenAL /sw/lib/libalut.a `/sw/bin/sdl-config --static-libs`
3. Versuch wieder durch einen Eintrag in das Makefile:
Code:
LDFLAGS =  -framework OpenAL -lalut /sw/lib/libSDLmain.a /sw/lib/libSDL.a -Wl,-framework,OpenGL -Wl,-framework,IOKit -Wl,-framework,Cocoa -Wl,-framework,QuickTime -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
Das komische an der Sache ist, dass diese Einträge in den Makefiles zwar vom Linker zur Kenntnis genommen werden. Der Linker dann aber doch macht was er will.

Wie schon geschrieben, dass "make" läuft immer sauber durch und der Linker verknüpft immer mit Shared Librarys.

Dies überprüfe ich mit "otool -L supertuxkart":

Code:
supertuxkart:
        /System/Library/Frameworks/OpenAL.framework/Versions/A/OpenAL (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
        /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0)
        /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 12.0.0)
        /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0)
        /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0)
        /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
        /sw/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.0.0)
        /sw/lib/libvorbisfile.3.dylib (compatibility version 5.0.0, current version 5.0.0)
        /sw/lib/libmikmod.2.dylib (compatibility version 3.0.0, current version 3.4.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.8)
Was habe ich falsch gemacht?

Wie werden die SDL-Libs statisch eingebunden?

Gruß,

Christian