The Kaffe Virtual Machine
===================
Kaffe 1.1.10-pre
===================
This is “Kaffe”, a virtual machine which allows the execution of
Java code.
Because Kaffe is distributed under the terms of the GNU Public License
which means the source code is free for you to download, modify and
use.
Most of the porting issues of Kaffe are in the virtual machine itself
(after all, the rest is in Java and is therefore inherently portable)
so we may not support all the platforms you might want, but we support
an amazing number and we’ll add more as we can. Take a look at the list
below to see if Kaffe will run on your system (‘J’ means ‘just-in-time’
while ‘I’ means ‘interpreter’):
Kaffe is distributed under the GPL (GNU Public License). Please
read the license to make sure it’s okay to use it in your circumstances.
Kaffe is available from various sites. The primary site is:
https://github.com/kaffe/kaffe
News about the “Open Source” Kaffe distribution can always be found at:
http://www.kaffe.org/
There is a Google group available at:
http://groups.google.com/group/kaffevm
Historic mailing list archives for the old kaffe mailing lists are here:
http://www.kaffe.org/pipermail/kaffe-announce/
http://www.kaffe.org/pipermail/kaffe/
You can use GitHub issues here.
https://github.com/kaffe/kaffe/issues
Note that the project is currently dormant, and not under active development. So
you might want to raise the issue in the Google Group as well in order to raise
awareness of your problem. New developers and pull requests are welcome!
See FAQ/FAQ.requiredlibraries.
You’ll also need a compiler for the Java programming language, like ecj,
javac or jikes.
For UNIX it couldn’t be simpler:
$ ./configure
$ make
$ make install
You can specify which compiler for the Java programming language to
use for the build by passing it in the JAVAC variable to the configure
script, as in
$ ./configure JAVAC=/usr/bin/ecj
Before compiling for your platform, you might want to check the
RELEASE-NOTES file to see if it has been tested with this release, and
whether or not there are any problems that other people have seen.
The virtual machine comes complete with the interpreter, stub generator,
and supporting native libraries. Compilation is controlled using the
GNU autoconf program. To generate the necessary makefiles
type “./configure” in this directory. This will identify your system
and configure the software appropriately. If JIT mode is supported on your
system it will be selected automatically, otherwise it defaults to
interpreting mode. Compilation should then be a simple matter of
typing “make” in this directory.
Note: You will need GNU make (“gmake”) in order to build Kaffe.
By default, the system will install into the /usr/local/kaffe
hierarchy in a layout similar to how Sun’s JDK lays out the files,
with SDK tools (eg. the java compiler) at the top level, and runtime
files only in the “jre” subdirectory). The install location can be
changed using the --prefix option to configure. To install the
binaries type “make install”.
Kaffe can be reconfigured in a number of ways:
For Windows 9x/NT, you can compile it using Red Hat’s GNU tools for
Windows from:
http://www.cygwin.com/
Compilation and installation is as per the UNIX system.
No environment configuration is necessary to run kaffe. However, you may
want to include the directory in which kaffe is installed in your path.
Typically, this would be /usr/local/kaffe/bin:
PATH=$PATH:/usr/local/kaffe/bin
All necessary setup is taken care of by kaffe' (note the lower case), which is actually a driver shell script for the
kaffe-bin’
executable.
Note that you don’t have to setup the CLASSPATH - if you do then that’s
fine, but if you don’t kaffe will construct a classpath that has the
current directory plus the Jar and Zip files it needs to run. For the
details of how the CLASSPATH is set up, refer to kaffe/scripts/kaffe.in.
If you want to test the kaffe executable you built, type “make check”.
This will run a suite of tests to check that your Kaffe executable is
in fact working.
The Kaffe Team
[email protected]