enigma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Enigma-devel] MacOS X port / Installation


From: Bob Ippolito
Subject: [Enigma-devel] MacOS X port / Installation
Date: Tue, 16 Sep 2003 15:50:57 -0400

I'm not sure if you're aware that the SDL frameworks you are distributing are compiled with a dylib id such that it can be stuck right inside the .app bundle. Check this out:

[crack:~/download] bob% otool -Lv Enigma\ 0.70/SDL.framework/SDL
Enigma 0.70/SDL.framework/SDL:
@executable_path/../Frameworks/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 1.0.0)
        time stamp 1045313761 Sat Feb 15 07:56:01 2003
        --snip--

[crack:~/download] bob% otool -Lv Enigma\ 0.70/Enigma.app/Contents/MacOS/enigma
Enigma 0.70/Enigma.app/Contents/MacOS/enigma:
/usr/lib/libz.1.1.3.dylib (compatibility version 1.0.0, current version 1.1.3)
        time stamp 1047398241 Tue Mar 11 10:57:21 2003
@executable_path/../Frameworks/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 1.0.0)
        time stamp 1053720491 Fri May 23 16:08:11 2003
        --snip--

@executable_path gets translated by dylib to mean wherever Enigma.app/Contents/MacOS/ is at runtime .. So, if you do this:

[crack:~/download/Enigma 0.70] bob% mkdir Enigma.app/Contents/Frameworks
[crack:~/download/Enigma 0.70] bob% mv SDL*.framework Enigma.app/Contents/Frameworks/

Then you won't have an installation process anymore, because enigma will find the frameworks in its own app bundle whether or not the user has SDL installed already.

I haven't looked at the source package, but if you're using Project Builder this is pretty easy to do by editing the target, though I can't really tutorial that off the top of my head.

-bob





reply via email to

[Prev in Thread] Current Thread [Next in Thread]