Hello, > this should make Kaffe useable for hacking on Classpath's AWT and swing > implementations.
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. I used: ./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` But then: 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, from ../../../../kaffe/kaffevm/thread.h:67, from toolkit.h:40, from tlk.cc:23: /home/kero/Download/kaffe-awt/kaffe/kaffevm/systems/unix-pthreads/thread-internal.h: In 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). Bye, Kero. 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? http://EuropeSwPatentFree.internautas.org/ +--- Kero ----------------------- [EMAIL PROTECTED] ---+ | all the meaningless and empty words I spoke | | Promises -- The Cranberries | +--- M38c --- http://httpd.chello.nl/k.vangelder ---+ _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe