Notes on OSX port

From GCompris
Revision as of 15:30, 12 March 2007 by Yves (talk | contribs) (Compilation modification)
Jump to: navigation, search

GCompris on OSX.

Gcompris osx s.png

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.

Native Gtk

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 tested Direct 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.