Difference between revisions of "CompilingMacOsX"

From Inkscape Wiki
Jump to navigation Jump to search
m (typos)
m (more typos)
Line 2: Line 2:
  
 
== Before you start ==
 
== Before you start ==
If you want an Official Release of inkscape, note that from version 0.42 of Inkscape, a Mac OS X package (in .dmg form) will be available. In addition, regular Development Versions will be build. Both can be downloaded from inkscape's downloads page:
+
If you want an Official Release, note that from version 0.42 of Inkscape a Mac OS X package (in .dmg form) will be available. In addition, regular Development Versions will be build. Both can be downloaded from Inkscape's downloads page:
  
 
:http://www.inkscape.org/download.php
 
:http://www.inkscape.org/download.php
  
Inkscape for Mac OS X is an X client: it runs under the [http://en.wikipedia.org/wiki/X_Window_System X Windows System]. You will need an X Windows Server installed for it to work. You can get the Apple X Server (requires Mac OS X 10.3 or above) here:
+
Inkscape for Mac OS X is an X client: it runs under the [http://en.wikipedia.org/wiki/X_Window_System X Windows System]. You will need an X Windows Server installed for it to work. You can get Apple's X Server (requires Mac OS X 10.3 or above) here:
  
 
:http://www.apple.com/downloads/macosx/apple/x11formacosx.html
 
:http://www.apple.com/downloads/macosx/apple/x11formacosx.html
Line 14: Line 14:
 
== Compiling How To ==
 
== Compiling How To ==
  
'''Note''': You could use the [http://fink.sourceforge.net/pdb/package.php/inkscape inkscape package] from the [http://fink.sourceforge.net Fink project] to install Inkscape from source but this package is usally older that the precompiled Development Versions and even that the Official Release so this does not seem usefull.
+
'''Note''': You could use the [http://fink.sourceforge.net/pdb/package.php/inkscape Inkscape package] from the [http://fink.sourceforge.net Fink project] to install Inkscape from source but this package is usally older that the precompiled Development Versions and even that the Official Release so this does not seem useful.
  
 
'''Requirements''':
 
'''Requirements''':
 
#Mac OS X 10.3 of higher
 
#Mac OS X 10.3 of higher
 
#A full [http://fink.sourceforge.net/faq/usage-fink.php?phpLang=en#unstable unstable fink] installation
 
#A full [http://fink.sourceforge.net/faq/usage-fink.php?phpLang=en#unstable unstable fink] installation
#Inkscape source code. You can get the [http://www.inkscape.org/download.php official release source code], a [http://www.inkscape.org/cvs-snap/ CVS snapshot] or a copy of the [http://sourceforge.net/cvs/?group_id=93438 cvs repository] (the module name is "inkscape")
+
#Inkscape's source code. You can get the [http://www.inkscape.org/download.php official release source code], a [http://www.inkscape.org/cvs-snap/ CVS snapshot] or a copy of the [http://sourceforge.net/cvs/?group_id=93438 cvs repository] (the module name is "inkscape")
  
 
'''Installing dependencies''':
 
'''Installing dependencies''':
Line 43: Line 43:
 
'''Setting the build environment''':
 
'''Setting the build environment''':
  
You need set the following environment variables (taken right out of fink's <code>.info</code> file) for the compilation to work. They are is in bash syntax. You can create a file named <code>set_variables</code> for example and copy/paste this inside:
+
You need set the following environment variables (taken right out of fink's <code>.info</code> file) for the compilation to work. They are in bash syntax. You can create a file named <code>set_variables.sh</code> for example and copy/paste this inside:
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
Line 58: Line 58:
 
</pre>
 
</pre>
  
Optionaly, to speed up the compilation a bit you could use <code>ccache</code> if you hve it installed:
+
Optionaly, to speed up the compilation a bit you could use <code>ccache</code> if you have it installed:
 
<pre>
 
<pre>
 
export CC="ccache gcc"
 
export CC="ccache gcc"
Line 64: Line 64:
 
</pre>
 
</pre>
  
Then, open a Terminal and, in the directory where yhou created the file, type:
+
Then, open a Terminal and, in the directory where you created the file, type:
 
<pre>
 
<pre>
 
bash
 
bash
source set_variables
+
source set_variables.sh
 
</pre>
 
</pre>
  

Revision as of 11:29, 19 September 2005

Compiling and Packaging Inkscape under Mac OS X

Before you start

If you want an Official Release, note that from version 0.42 of Inkscape a Mac OS X package (in .dmg form) will be available. In addition, regular Development Versions will be build. Both can be downloaded from Inkscape's downloads page:

http://www.inkscape.org/download.php

Inkscape for Mac OS X is an X client: it runs under the X Windows System. You will need an X Windows Server installed for it to work. You can get Apple's X Server (requires Mac OS X 10.3 or above) here:

http://www.apple.com/downloads/macosx/apple/x11formacosx.html

Compiling How To

Note: You could use the Inkscape package from the Fink project to install Inkscape from source but this package is usally older that the precompiled Development Versions and even that the Official Release so this does not seem useful.

Requirements:

  1. Mac OS X 10.3 of higher
  2. A full unstable fink installation
  3. Inkscape's source code. You can get the official release source code, a CVS snapshot or a copy of the cvs repository (the module name is "inkscape")

Installing dependencies:

In a Terminal type:

fink install �
        intltool �
        glib2 glib2-dev glib2-shlibs �
        gtk+2 gtk+2-shlibs gtk+2-dev �
        libpng3 libpng3-shlibs �
        libsigc++2 libsigc++2-shlibs �
        gtkmm2.4 gtkmm2.4-dev gtkmm2.4-shlibs �
        libtool14 libtool14-shlibs �
        libxml2 libxml2-shlibs �
        libsigc++2 libsigc++2-shlibs �
        popt popt-shlibs �
        gc gc-shlibs

Fink installs many packages from source so this is usually long.

Setting the build environment:

You need set the following environment variables (taken right out of fink's .info file) for the compilation to work. They are in bash syntax. You can create a file named set_variables.sh for example and copy/paste this inside:

#!/bin/bash
FINK="/sw"
export LIBRARY_PATH="/usr/X11R6/lib:$FINK/lib"
export CPATH="$FINK/include"
export PATH="/usr/X11R6/bin:$PATH"
export CC="gcc"
export CXX="g++"
export CFLAGS="-I$FINK/include -O3 -Wall"
export LDFLAGS="-L$FINK/lib"
export CXXFLAGS="$CFLAGS"
export CPPFLAGS="$CXXFLAGS"

Optionaly, to speed up the compilation a bit you could use ccache if you have it installed:

export CC="ccache gcc"
export CXX="ccache g++"

Then, open a Terminal and, in the directory where you created the file, type:

bash
source set_variables.sh

Building:

Open a Terminal and cd to Inkscape's sources directory. Type:

 ./configure --prefix=/some/directory/
 make
 make install

You have to put your build products somewhere you have write access to (for example you home directory) in order to be able to package the application from there afterwards. That is what the --prefix option is for.

Packaging:

The process is fully automatized. You just have to open a Terminal, cd to Inkscape's sources directory and type:

cd packaging
./osx-app.sh /path/to/bin/inkscape ../Info.plist macosx

You will end up with two files in current directory: Inkscape.app that you can copy to your Applications directory and Inkscape.dmg for distribution.

-- Kees Cook, Michael Wybrow, Jean-Olivier Irisson


Interesting links

Some packaging links: http://freespace.ausgamers.com/2005/02/creating-os-x-application-bundles-step.html http://java.sun.com/developer/technicalArticles/JavaLP/JavaToMac3/ http://gimp-app.sourceforge.net/gimp.app.howto.txt