Difference between revisions of "NativeUIMacOsX"
(Added page (stub)) |
(Replaces links to imendo) |
||
(3 intermediate revisions by 2 users not shown) | |||
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:// | 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 [http://live.gnome.org/GTK%2B/OSX Gtk+ for OSX]. | ||
== Dependencies == | |||
=== glib === | |||
=== [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 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] | |||
=== atk === | |||
== Known Issues == | == Known Issues == | ||
[[Category:Developer Discussion]] |
Latest revision as of 09:20, 24 March 2010
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