Difference between revisions of "Notes on OSX port"
(→How) |
OloerGetcp (talk | contribs) (daracelchi) |
||
Line 1: | Line 1: | ||
+ | noboc4tcoc | ||
GCompris on OSX. | GCompris on OSX. | ||
Line 6: | Line 7: | ||
* add sdl.m4 into acinclude.m4. '''Needs cleaning, sdl.m4 is not used on OSX !''' | * 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>'' | * add '''#define NO_IMPORT_PYGOBJECT 1''' before ''#include <pygobject.h>'' | ||
− | * Change on SDL/SDL_mixer | + | * 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. | * Change #include for SDL* frameworks if we use them. | ||
* suppress $LIBICONV in gcompris LDADD (multiply defined _locale_charset). | * suppress $LIBICONV in gcompris LDADD (multiply defined _locale_charset). | ||
Line 12: | Line 13: | ||
* GNUcap detection looks broken: | * GNUcap detection looks broken: | ||
<pre> | <pre> | ||
− | gcompris: Dialog=Impossible de trouver le logiciel de simulation | + | gcompris: Dialog=Impossible de trouver le logiciel de simulation électrique « GnuCap ». |
− | Vous pouvez le | + | Vous pouvez le télécharger àl'adresse: |
<http://geda.seul.org/tools/gnucap/> | <http://geda.seul.org/tools/gnucap/> | ||
− | Pour | + | Pour être détecté, l'exécutable doit être installé dans /usr/bin/gnucap ou /usr/local/bin/gnucap. |
− | Vous pouvez tout de | + | Vous pouvez tout de même utiliser cette activité pour construire des schéma électriques mais vous ne pourrez pas les simuler. |
</pre> | </pre> | ||
− | J'ai | + | J'ai ajouté un test au bon endroit. |
− | * | + | * Même genre de test pourGNUchess. |
== Native Gtk == | == Native Gtk == |
Revision as of 23:45, 16 December 2008
noboc4tcoc 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 (MacOSX) or LD_RUN_PATH (Linux).
- set the lang correctly.
- Initialise the files from $resourcePath/etc/gtk-2.0|pango with correct path
Ideas:
- Uses of rpath (linux) with "-Wl,-rpath=\$ORIGIN/../lib" in LDFLAGS, and install_name_tool with @executable_path/../lib should solve the DYLD_LIBRARY_PATH/LD_RUN_PATH.
- Uses of init function at start to fix the lang.
- Uses of init function at start to fix the $resourcePath/etc/gtk-2.0|pango files and set the environnement variables (setenv()).