NativeUIMacOsX

From Inkscape Wiki
Jump to navigation Jump to search

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 Gtk+ for OSX.

Dependencies

glib

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 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

atk

Known Issues