Updating the kaffe port to 0.5 patchlevel 2.

Submitted by:	Marc Van Kempen
This commit is contained in:
Chuck Robey 1996-08-02 21:29:58 +00:00
parent 0a3ebe7a7d
commit 2592a65ee1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=3504
4 changed files with 142 additions and 13 deletions

View File

@ -1,17 +1,18 @@
# New ports collection makefile for: kaffe
# Version required: 0.5p1
# Version required: 0.5p2
# Date created: 20 February 1995
# Whom: Tim Wilkinson <tim@sarc.city.ac.uk>
#
# $Id: Makefile,v 1.4 1996/07/10 05:24:17 asami Exp $
#
DISTNAME= kaffe-0.5p1
DISTNAME= kaffe-0.5p2
PKGNAME= kaffe-0.5.2
CATEGORIES+= www
MASTER_SITES= ftp://ftp.sarc.city.ac.uk/pub/kaffe/
EXTRACT_SUFX= .tgz
MAINTAINER= tim@sarc.city.ac.uk
MAINTAINER= xaa@stack.urc.tue.nl
RUN_DEPENDS= ${PREFIX}/share/java/classes.zip:${PORTSDIR}/www/jdk

View File

@ -1 +1 @@
MD5 (kaffe-0.5p1.tgz) = 780e966c5d76fdbf64d58fdfe075d562
MD5 (kaffe-0.5p2.tgz) = 6595ac16e4993ba0f36d9f80ebce86f4

View File

@ -1,4 +1,4 @@
KAFFE v0.5p1 - A JIT and interpreting virtual machine to run Java(tm)* code
KAFFE v0.5p2 - A JIT and interpreting virtual machine to run Java(tm)* code
===========================================================================
This is Kaffe, a virtual machine design to execute Java bytecode.
@ -9,18 +9,95 @@ the host machine's native code. This will ultimately allow execution of
Java code at the same speed as standard compiled code but while maintaining
the advantages and flexibility of code independence.
This release include the new JIT system. Currently only a 386 JIT exists but
I intend to produce a SPARC jit machine in the near future to test is
portablility and then concentrate on improving the generated code quality.
However, these improvements will not effect the JIT target descriptions
(the jit-???.def files) so people may want to consider producing versions
for other platforms.
What's new
==========
* Experimental optimisation for JIT code generation. This is currently
enabled using the '-O' switch (just in case it causes problems).
* Support for NeXTStep on the 386 and Sparc (experimental).
* Support for Linux on the PowerPC (experimental).
* Improvements to garbage collection. The old systems was recursive so
could (and did) silently overrun the stack.
* Improvements to the thread system. This includes the addition of threaded
sleeps, and the threading of file I/O.
* Lots of bug fixes (see ChangeLog).
What can run Kaffe
==================
This version of Kaffe will run on the following platforms:
i386 FreeBSD 2.x (interp + jit)
" Linux 1.2.13 (interp + jit)
" NetBSD 1.x (interp + jit)
" Solaris 2.x (interp + jit)
" BSDI 2.x (interp + jit)
" Unixware (interp + jit)
" SCO 3.2v5 (interp + jit)
" NeXTStep 3 (interp + jit)
" Windows '95 (interp)
Sparc SunOS 4.x (interp)
" Solaris 2.x (interp)
" NetBSD 1.x (interp)
" NeXTStep 3 (interp)
PowerPC MkLinux (interp)
Although the system is relatively portable, some machine and processor
specific code is necessary. If operating in an interpreting mode, it
is only necessary to supply thread switching code. This allows relatively
simple ports of Kaffe to be made to new platforms.
If operating in JIT mode, significant machine dependent code is required in
order to provide the internal native code generator. Ports to new
architecture are obviously more complex although the code generator is itself
reasonably portable.
Who can use Kaffe
=================
This version of Kaffe is distributed under a Berkeley style license.
Essentially you can use Kaffe for both personal and commerical purpose, on
its own or as part of another package (see license.terms for full details).
Kaffe Web and FTP sites
=======================
Kaffe is available from various sites. The primary site is:
ftp://ftp.sarc.city.ac.uk/pub/kaffe/kaffe-0.5p2.tgz
Kaffe mailing lists
===================
A couple of mailing lists are available for information and discussion of
the Kaffe project. There lists are:
kaffe@sarc.city.ac.uk General Kaffe discussions
kaffe-announce@sarc.city.ac.uk Kaffe related announcements
To subscribe to these lists send a message containing the word "subscribe"
to either:
kaffe-request@sarc.city.ac.uk or
kaffe-announce-request@sarc.city.ac.uk
depending what you are interested in.
You can also check out the Kaffe related web pages at:
http://www.sarc.city.ac.uk/~tim/kaffe
Running Kaffe
=============
This version of Kaffe is not supplied with a copy of Sun's class library.
FreeBSD users can install the jdk port/package for it.
This can be obtained from Sun's JDK package (from http://www.javasoft.com) or
pre-prepaired in kaffe-0.5p2-sun.tgz (from the usual Kaffe ftp sites).
This version of Kaffe uses the class library from JDK 1.0.2.
Before running Kaffe it is necessary to configure the environment.
This requires the setting of CLASSPATH, KAFFEHOME and LD_LIBRARY_PATH.
@ -34,6 +111,54 @@ A file "ENVIRONMENT" is generated by the configure program which contains
a /bin/sh environment setup. This may help you to figure out what to
set to what if you alter the standard installation point.
The source comes with a test program "HelloWorldApp" which can be found
in the test directory in the distribution. After installation, run this
program from the test directory by typing the following:
cd <java source directory>/test
kaffe HelloWorldApp
This should load and execute the HelloWorld application. If all is well
it will print "Hello World!". As a further test you might like to try
compiling the HelloWorldApp source. To do this type the following:
javac HelloWorldApp.java
"javac" is a shell script which has been provided to invoke Kaffe on
the standard Java compiler. If all is well, the application should compile
without incident.
The state of play
=================
Kaffe should run all non-graphical code which will run on a Java
machine. However there are still bugs and plenty of untested native
library functions. Some functions which are not currently implemented
(most often because I don't understand exactly what they are suppose to
do) will simply abort if called. If you can help out on any of these
then please do *BUT* remember, this is a clean-room implementation (I
have never seen any of Sun's Java source code) and I cannot simply
encorporate Javasoft's* code.
Kaffe is known to correctly run Javasoft's Java compiler "javac" (which is
included in the classes.zip file and a shell script is included to help
run it) plus a number of small test programs. However, other major
programs have not been tested.
Kaffe and Sun's Java
====================
Kaffe is a clean-room implementation of a virtual machine which can run
Java bytecode. It is capable of interpreting code generated by Sun's
software but has not been derived from any Sun code. Currently this version
utilises Sun's freely available compiled class library but it is hoped
that this will be replaced with a freely available version in due time.
At the moment it is impossible to validate whether this software is
Java compatible(tm) (the test suites are not publically available) and
the terms under which this can be claimed are unknown.
Erm, that's it ....
Tim Wilkinson
<tim@sarc.city.ac.uk>
----

View File

@ -1,3 +1,6 @@
@name kaffe
@owner bin
@group bin
bin/javac
bin/javadoc
bin/kaffe
@ -5,8 +8,8 @@ bin/kaffeh
lib/libkaffe_native.so.0.5
lib/libkaffe_vm.so.0.5
lib/libkaffe_net.so.0.5
@exec /sbin/ldconfig -m %B
include/kaffe/jtypes.h
include/kaffe/native.h
include/kaffe/stubPreamble.h
share/kaffe/license.terms
@exec /sbin/ldconfig -m %B