[kaffe] Swing/AWT merge from GNU Classpath done
robilad at kaffe.org
Thu Jul 22 13:02:30 PDT 2004
I've merged in the Swing/AWT code from GNU Classpath (before the last
resync they had with gcj java-gui brach, so expect another tiny (600k)
patch soon ;), as it works for me (TM) and I didn't feel it would do the
merged code any good to sit on my hard disk  :)
So, chances are that some things may broken in the process. Please
report those bugs, so that they can get fixed.
The major changes are:
* configure now tries to build all three awts by default. Xlib, Qt(e)
and classpath's gtk awt. Classpath's GTK awt is the default, but you can
switch kaffe to use another one by simply using an -X* option.
* since classpath's awt need pthreads, pthreads are now the default
threading system. That's going to be fun on non-linux systems, I assume.
* kaffe's awt java code has been moved to
libraries/javalib/awt-implemenations. The current setup should it make
easy to merge in pocketlinux AWT code in parallel.
* The old appletviewer code has been shifted over, too. I'd like to
merge in gcjwebplugin, and use that instead. It would give as a Mozilla
plugin for free, essentially. Gcjwebplugin worked for me, standalone. I
haven't tried the mozilla plugin yet, though.
* You'll need very recent gtk, pango, freetype, libart, cairo, etc. for
Classpath's AWT. Essentially, the latter, the better. You can turn off
the native awt libraries selectively, though. The whole AWT checking
code in configure has been made confitional on whether AWT support for
the particular backend is enabled. You will also need pkg-config, which
is used to find all those libraries.
* build with kjc is broken, again. Our KJC chokes on swing code trying
to extend a protected inner class in a different package. While the JLS
is really annoyingly ambigous in the respective section, it seems to be
an allowed thing to do.
* qte awt is currently borken for me. I believe that's a known issue,
* FAQ.awt needs some serious rewriting :)
* I've moved old java/awt as a whole to
libraries./javalib/awt-implemenations/kaffe. We could probably shave off
some of that by removing the files that are already imorted from classpath.
Thanks to everyone involved who made this possible, in particular Jim
Huang for showing that it could be done, Steven Augart for providing the
necessary native code patches, and the Classpath & Gcj hackers for doing
so much great work on Classpath's AWT & Swing implementation over the
 It's been sitting there for a while, and it has always been hard to
resync over and over again.
More information about the kaffe