Difference between revisions of "NativeUIMacOsX"
(+cat) |
|||
Line 69: | Line 69: | ||
== Known Issues == | == Known Issues == | ||
[[Category:Developer Discussion]] |
Revision as of 15:49, 25 July 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
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 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