[kaffe] [PATCH] Classpath-AWT merge
Kero van Gelder
kero at c86235.upc-c.chello.nl
Thu Jun 3 05:51:02 PDT 2004
> this should make Kaffe useable for hacking on Classpath's AWT and swing
Great work, but I have to object to the statement itself :)
> 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.
./configure --prefix=/tmp/kaffe-cp-awt --with-threads=unix-pthreads \
--with-jikes --with-qtdir=/usr/lib/qt3 --enable-pure-java-math
> 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
You need libart-2.0-dev from debian 'experimental'.
libart(2)-dev from 'unstable' will generate an unclear warning about
pkg-config, which I had nicely installed, but wasn't familiar with.
libqt3-dev puts headers in /usr/include/qt3, not in $QTDIR /usr/lib/qt3/include
so ./configure breaks on it. A symlink solved the issue for the header
files, but I needed to edit ./configure itself after the symlink for
the libraries: there are some cheks on $QTDIR/lib/*.so and
$QTDIR/lib/*.a that are a bit too broad with the symlink in place, I
added 'qt' right before the '*' to make the check work. I consider
this a bug in (auto)conf(ig)ure/whereever, which I will *not* fix.
> If you install jikes, it should build the class libraries a little faster ;)
You bet :) `apt-get install jikes`
Several appearances of UNUSED in implementations of functions conflict
with the definitions. The position and word is slightly
different: __UNUSED__ is outside the braces, UNUSED is inside. I
removed the word UNUSED and could continue.
I then found this:
In file included from /home/kero/Download/kaffe-awt/kaffe/kaffevm/systems/unix-pthreads/thread-impl.h:25,
function `void jthread_relaxstack(int)':
/home/kero/Download/kaffe-awt/kaffe/kaffevm/systems/unix-pthreads/thread-internal.h:270: error: ISO
C++ forbids cast to non-reference type used as lvalue
and three more of those immediately below. I agree with the compiler
here. C++ really invites you to do horrible things.
And then I quit trying (other things to do).
PS: I got gcj to compile my application, and its gtk-awt crashed on
it. Am I right in assuming that kaffe awt classpath will fail as well,
since it uses the same toolkit?
wanna keep developing software?
+--- Kero ----------------------- kero at chello.nl ---+
| all the meaningless and empty words I spoke |
| Promises -- The Cranberries |
+--- M38c --- http://httpd.chello.nl/k.vangelder ---+
More information about the kaffe