Difference between revisions of "Notes on OSX port"
(→Compilation modification) |
|||
Line 12: | Line 12: | ||
* GNUcap detection looks broken: | * GNUcap detection looks broken: | ||
<pre> | <pre> | ||
− | gcompris: Dialog=Impossible de trouver le logiciel de simulation électrique | + | gcompris: Dialog=Impossible de trouver le logiciel de simulation électrique « GnuCap ». |
Vous pouvez le télécharger à l'adresse: | Vous pouvez le télécharger à l'adresse: | ||
<http://geda.seul.org/tools/gnucap/> | <http://geda.seul.org/tools/gnucap/> | ||
Line 43: | Line 43: | ||
* The PANGO_RC_FILES need no " around the filenmae. Looks as a modifiction with svn pango. | * The PANGO_RC_FILES need no " around the filenmae. Looks as a modifiction with svn pango. | ||
* The actuyal Gimp.app script looks better: Uses /tmp instead of .gcompris-etc to put the modified files at launch. | * The actuyal Gimp.app script looks better: Uses /tmp instead of .gcompris-etc to put the modified files at launch. | ||
+ | |||
+ | == NSBundle without launch script == | ||
+ | === Why ? === | ||
+ | Because GCompris can get bundle resource path and uses main osx menu if it's run as main execuatble in the bundle. | ||
+ | === How === | ||
+ | Script is used to: | ||
+ | * set the DYLD_LIBRARY_PATH. | ||
+ | * set the lang correctly. | ||
+ | * Initialise the files from $resourcePath/etc/gtk-2.0|pango with correct path | ||
+ | |||
+ | Uses of rpath (linux) with "-Wl,-rpath=\$ORIGIN/../lib" in LDFLAGS, and install_name_tool with @executable_path/../lib should solve the (DY)LD_LIBRARY_PATH. |
Revision as of 10:58, 21 March 2007
GCompris on OSX.
Contents
Compilation modification
- add sdl.m4 into acinclude.m4. Needs cleaning, sdl.m4 is not used on OSX !
- add #define NO_IMPORT_PYGOBJECT 1 before #include <pygobject.h>
- Change on SDL/SDL_mixer détection. My opinion is to use OSX frameworks. SDL_mixer framework looks broken for now: missing SDL/ in headers #include (use of SDL framework.. ).
- Change #include for SDL* frameworks if we use them.
- suppress $LIBICONV in gcompris LDADD (multiply defined _locale_charset).
- Add check if argv[0] is full path beginning with /. If yes, get the install prefix from it. Usefull for GCompris.app relocatable OSX bundle.
- GNUcap detection looks broken:
gcompris: Dialog=Impossible de trouver le logiciel de simulation électrique « GnuCap ». Vous pouvez le télécharger à l'adresse: <http://geda.seul.org/tools/gnucap/> Pour être détecté, l'exécutable doit être installé dans /usr/bin/gnucap ou /usr/local/bin/gnucap. Vous pouvez tout de même utiliser cette activité pour construire des schéma électriques mais vous ne pourrez pas les simuler.
J'ai ajouté un test au bon endroit.
- Même genre de test pourGNUchess.
Native Gtk
- Works, but with bugs. Some small images abd some colors looks bad. The color selector is broken.
- Cairo/GTK are not frameworks. GTK is not relocatable (relocatable only on windows).
- Wait a better version.
- OSX support status on gtk-devel.
- Gtk OSX Using imendio script
X11/GTK
- Check inkscape and Gimp.app way.
- Gimp.app links to a Platypus script (ScriptExec). inkscape seems use the same solution.
- Inkscape launch a shell script set lot of environnement variables to locate correctly libs.
script launcher (Platypus)/ScriptExec
- Platypus create an exec application (a running .app bundle in fact) with a cocoa executable script launcher in Contents/MacOS and the script to run in Contents/Resources.
- Gimp.app uses a modified version (why?). Anyway this version does not compile with my xcode.
- Inkscape seems have a already modified version with right extension (xcodeproj).
To be testedDirect compilation fails too. Needs to suppress libstdc++.a from External resources. Builds ok and works ok without it. - This Xcode compilation gives the bundle executable. (From here: copy ScriptExec/build/ScriptExec.app/Contents/MacOS/ScriptExec to Gimp.app/Contents/MacOS/Gimp )
- Need to set XCode to Deployment target, for the compilation to be complete.
Notes on launch script
- The PANGO_RC_FILES need no " around the filenmae. Looks as a modifiction with svn pango.
- The actuyal Gimp.app script looks better: Uses /tmp instead of .gcompris-etc to put the modified files at launch.
NSBundle without launch script
Why ?
Because GCompris can get bundle resource path and uses main osx menu if it's run as main execuatble in the bundle.
How
Script is used to:
- set the DYLD_LIBRARY_PATH.
- set the lang correctly.
- Initialise the files from $resourcePath/etc/gtk-2.0|pango with correct path
Uses of rpath (linux) with "-Wl,-rpath=\$ORIGIN/../lib" in LDFLAGS, and install_name_tool with @executable_path/../lib should solve the (DY)LD_LIBRARY_PATH.