Difference between revisions of "NativeUIMacOsX"

From Inkscape Wiki
Jump to navigation Jump to search
(Added page (stub))
 
(Added "Dependencies" section)
Line 1: Line 1:
 
During a discussion on the Developer's mailing list, it was pointed out that there was a consensus that the Inkscape project should create a Mac OS (Quartz) product using the Gtk+ from [http://developer.imendio.com/wiki/Gtk_Mac_OS_X Imendio].
 
During a discussion on the Developer's mailing list, it was pointed out that there was a consensus that the Inkscape project should create a Mac OS (Quartz) product using the Gtk+ from [http://developer.imendio.com/wiki/Gtk_Mac_OS_X Imendio].
 +
 +
== Dependencies ==
 +
=== [http://git.or.cz/ git] ===
 +
You will need a working git to check out the Cairo sources. You can download a [http://kernel.org/pub/software/scm/git/git-1.3.2.tar.bz2 current snapshot], which compiles and runs flawlessly. There is a [http://pdb.finkproject.org/pdb/package.php/git git fink package] which Tiger users might prefer.
 +
 +
=== [http://www.cairographics.org/ Cairo] ===
 +
At the time of writing, Gtk+ needs version 1.1.6 or later which is more recent than the [http://cairographics.org/releases/ latest unstable release] and more recent by far than the [http://pdb.finkproject.org/pdb/package.php/cairo-shlibs cairo package in fink]. As the [http://developer.imendio.com/wiki/Gtk_Mac_OS_X/Build_Instructions Imendio Build Instructions] do state, the only practical way of obtaining a suitable Cairo is to use the development sources available from the [http://cairographics.org/download#head-d5e2030369f7e642e430ae50d9ad3dc7981b5a4f git repository].
 +
 +
Here is a suggested configuration:
 +
<code>../configure '--enable-debug=yes' '--prefix=/panther-quartz' 'CXXFLAGS=-fmessage-length=0' 'CFLAGS=-fmessage-length=0' '--enable-quartz' '--enable-atsui'</code>
 +
 +
 +
When the script has run, it will produce a lengthy report which should resemble:<pre>cairo will be compiled with the following surface backends:
 +
  image:      yes (always builtin)
 +
  Xlib:      yes
 +
  Quartz:    yes
 +
  XCB:        no (disabled, use --enable-xcb to enable)
 +
  Win32:      no (the Microsoft Windows backend requires a Win32 platform)
 +
  PostScript: yes
 +
  PDF:        yes
 +
  SVG:        yes
 +
  glitz:      no (disabled, use --enable-glitz to enable)
 +
  BeOS:      no (disabled, use --enable-beos to enable)
 +
  DirectFB:  no (disabled, use --enable-directfb to enable)
 +
 +
the following font backends:
 +
  FreeType:  yes
 +
  Win32:      no (the Microsoft Windows backend requires a Win32 platform)
 +
  ATSUI:      yes
 +
 +
the following features:
 +
  PNG functions: yes
 +
 +
and the following debug options:
 +
  gcov support:  no
 +
  test surfaces: no
 +
 +
using CFLAGS:
 +
-I/sw/include/libpng12 -I/usr/X11R6/include -I/sw/lib/freetype219/include/freetype2 -I/sw/include/libxml2 -I/sw/include -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing
 +
 +
 +
*** The Quartz backend is still under active development and
 +
*** is included in this release only as a preview. It does not
 +
*** fully work yet and incompatible changes may yet be made
 +
*** to Quartz-backend specific API.
 +
 +
 +
*** The ATSUI backend is still under active development and
 +
*** is included in this release only as a preview. It does not
 +
*** fully work yet and incompatible changes may yet be made
 +
*** to ATSUI-backend specific API.
 +
</pre>
 +
=== [http://www.pango.org/ Pango] ===
 +
The stated requirement is for version 1.9.0, and I have successfully used the 1.9.1 snapshot. The [http://pdb.finkproject.org/pdb/package.php/pango1-xft2-ft219 pango fink package] is version 1.10.1, and I suggest that you don't use this (since we want to compile our own pango with pangocairo support), and instead use a snapshot later than 1.10.1, to avoid confusion.
 +
 +
Here is a suggested configuration:<code>../configure '--prefix=/panther-quartz' 'CFLAGS=-fmessage-length=0' 'CPPFLAGS=-fmessage-length=0' 'CXXFLAGS=-fmessage-length=0' '--enable-debug=yes'</code>
 +
 +
Note that the configure script will pick up the existence of Cairo without further ado.
 +
 +
In particular, note that when the configure script has finished, it reports which backends it will use, ''videlicet''<pre>configuration:
 +
        backends: FreeType X Xft Cairo</pre>
 +
 +
If you don't see Cairo in that list, then it is time to polish up your autoconf debugging skills. See [http://www.ddj.com/184402060 GNU Autoconf]
  
 
== Known Issues ==
 
== Known Issues ==

Revision as of 21:22, 7 May 2006

During a discussion on the Developer's mailing list, it was pointed out that there was a consensus that the Inkscape project should create a Mac OS (Quartz) product using the Gtk+ from Imendio.

Dependencies

git

You will need a working git to check out the Cairo sources. You can download a current snapshot, which compiles and runs flawlessly. There is a git fink package which Tiger users might prefer.

Cairo

At the time of writing, Gtk+ needs version 1.1.6 or later which is more recent than the latest unstable release and more recent by far than the cairo package in fink. As the Imendio Build Instructions do state, the only practical way of obtaining a suitable Cairo is to use the development sources available from the git repository.

Here is a suggested configuration: ../configure '--enable-debug=yes' '--prefix=/panther-quartz' 'CXXFLAGS=-fmessage-length=0' 'CFLAGS=-fmessage-length=0' '--enable-quartz' '--enable-atsui'


When the script has run, it will produce a lengthy report which should resemble:

cairo will be compiled with the following surface backends:
  image:      yes (always builtin)
  Xlib:       yes
  Quartz:     yes
  XCB:        no (disabled, use --enable-xcb to enable)
  Win32:      no (the Microsoft Windows backend requires a Win32 platform)
  PostScript: yes
  PDF:        yes
  SVG:        yes
  glitz:      no (disabled, use --enable-glitz to enable)
  BeOS:       no (disabled, use --enable-beos to enable)
  DirectFB:   no (disabled, use --enable-directfb to enable)

the following font backends:
  FreeType:   yes
  Win32:      no (the Microsoft Windows backend requires a Win32 platform)
  ATSUI:      yes

the following features:
  PNG functions: yes

and the following debug options:
  gcov support:  no
  test surfaces: no

using CFLAGS:
-I/sw/include/libpng12 -I/usr/X11R6/include -I/sw/lib/freetype219/include/freetype2 -I/sw/include/libxml2 -I/sw/include -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing


*** The Quartz backend is still under active development and
*** is included in this release only as a preview. It does not
*** fully work yet and incompatible changes may yet be made
*** to Quartz-backend specific API.


*** The ATSUI backend is still under active development and
*** is included in this release only as a preview. It does not
*** fully work yet and incompatible changes may yet be made
*** to ATSUI-backend specific API.

Pango

The stated requirement is for version 1.9.0, and I have successfully used the 1.9.1 snapshot. The pango fink package is version 1.10.1, and I suggest that you don't use this (since we want to compile our own pango with pangocairo support), and instead use a snapshot later than 1.10.1, to avoid confusion.

Here is a suggested configuration:../configure '--prefix=/panther-quartz' 'CFLAGS=-fmessage-length=0' 'CPPFLAGS=-fmessage-length=0' 'CXXFLAGS=-fmessage-length=0' '--enable-debug=yes'

Note that the configure script will pick up the existence of Cairo without further ado.

In particular, note that when the configure script has finished, it reports which backends it will use, videlicet

configuration:
        backends: FreeType X Xft Cairo

If you don't see Cairo in that list, then it is time to polish up your autoconf debugging skills. See GNU Autoconf

Known Issues