[kaffe] [PATCH] Classpath-AWT merge
Dalibor Topic
robilad@kaffe.org
Wed May 26 17:47:02 2004
Hi,
this should make Kaffe useable for hacking on Classpath's AWT and swing
implementations.
following the footsteps of Jim Huang, I've created a patch that merges
the Classpath AWT into kaffe. It's online at
http://www.kaffe.org/~robilad/classpath-awt-merge.diff.bz2 . You'll need
to apply the patch with -p 1 if you're applying it from inside kaffe's
top source directory.
You'll also need to put
http://www.kaffe.org/~robilad/Klasses.jar.bootstrap in your
libraries/javalib for generating all the nice new header files for gtk
peers.
You'll need a few things for classpath's AWT: a recent gtk installation,
libart, cairo, pango, ... the latter, the better. For Kaffe's AWT you'll
need Xlib and Qt (2/3/Embedded). You'll need developer's packages of
these, of course, for the headers (and pkg-config stuff) ;) chances are
that the '--without-*awt' options don't work yet, so please make sure
you've got all three(X, Qt, Gtk) installed for the build. This is a work
in progress, the final checkin will be better tested, and behave nicely,
and hopefully be synced up with the gcj gui branch :)
Since Classpath's AWT only works with pthreads, you'll need to pass
--with-threads=unix-pthreads to configure script.
so, for example on debian unstable, once you've pulled your
libgtk2.0-dev, libcairo1-dev, libart-dev, libqt3-dev, and so on, you
should be able to build and install kaffe with the 3 AWT implementations
with a simple
../kaffe/configure --prefix=/tmp/kaffe-cp-awt --with-qtdir=/path/to/qt
--with-threads=unix-pthreads && make && make install
If you install jikes, it should build the class libraries a little faster ;)
You should have /tmp/kaffe-cp-awt/bin/kaffe, which runs with the
classpath AWT, kaffex with the Xlib AWT and kaffeqt with the Qt AWT.
If you've got a successful build, you could try out the Widgets demo,
and end up with something like
http://www.kaffe.org/~robilad/kaffe_awt_implementations.png
I'm using a slightly patched (for compilation problems) version of Steve
Augart's portable-native-sync patch 5, afaik. He's up to version 7,
meanwhile. thanks to steve for making sure classpath's awt starts
becoming useable on jikesrvm and kaffe, too. Many thanks to Jim Huang
for actually getting there, and showing that it's possible, and much
easier than I though.
Finally, thanks to James Simmons for figting his way through several
'brown paper bag' patch versions on #kaffe!
cheers,
dalibor topic