Updating Jessie (Was:Re: [kaffe] CVS kaffe (dalibor): Added support for GNU Crypto)

Dalibor Topic robilad at kaffe.org
Mon Dec 1 00:38:02 PST 2003


Kaffe CVS wrote:

> Added support for GNU Crypto

This adds basic support for GNU Crypto. You need to have GNU Crypto 
built and installed somewhere first, with the jars located in 
/path-to-somewhere/share/.

The next step is to update Jessie to 0.9.5. I've tried to do that by 
re-merging the source code in, but that fails to build unless kaffe has 
been built with GNU Crypto, since it depends on some classes from 
gnu.crypto that are not in kaffe's CVS [1]. So I'd propose removing old 
Jessie sources from kaffe's CVS, and using a --with-jessie argument like 
for GNU Crypto. Casey, maybe you could take a look at the gnu-crypto.m4 
macro from Raif in kaffe's CVS, and adapt it for Jessie? It would make 
intergration of jessie during the build process simpler into other VMs 
as well.

The only trouble with those is that you need the jar files to be built 
already before you can build kaffe with them. That means someone 
building kaffe with jessie without access to the jar files would first 
have to build kaffe, then build GNU Crypto with kaffe, then rebuild 
kaffe with gnu crypto, then build jessie with kaffe with gnu crypto, and 
then rebuild kaffe with gnu crypto and jessie. Sounds inefficient ;)

So I'd like to propose a small change to kaffe.in:

currently the bootclasspath is generated as follows:

for f in rt.jar comm.jar pjava.jar servlet.jar tools.jar microsoft.jar 
kjc.jar rmi.jar; do
   if test -f "$KAFFE_LIBDIR/$f"; then
     BOOTCLASSPATH="$BOOTCLASSPATH$PATHSEP$KAFFE_LIBDIR/$f"
   fi
   if test -f "$KAFFE_JRELIBDIR/$f"; then
     BOOTCLASSPATH="$KAFFE_JRELIBDIR/$f$PATHSEP$BOOTCLASSPATH"
   fi
done

Could we change that to :

for f in $KAFFE_LIBDIR/*.jar; do
   BOOTCLASSPATH="$BOOTCLASSPATH$PATHSEP$f"
done
for f in $KAFFE_JRELIBDIR/*.jar; do
   BOOTCLASSPATH="$BOOTCLASSPATH$PATHSEP$f"
done

Would that still work on all shells?

Then we could simply use kaffe's install-jar to copy/softlink the jars 
from GNU Crypto into kaffe's jar file directory in the install phase of 
the build. The same approach could also be used for DNSJava, for 
example, and possibly other third party JARS that are not necessary for 
building kaffe.

cheers,
dalibor topic

[1] Nor do I want to check in much of the heavy crypto stuff in the CVS, 
given my lack of knowledge of dual use goods export laws, Wassenaar and 
all that. And it's pointless duplication in this case, as both GNU 
Crypto and jessie maintainers publish regular releases.





More information about the kaffe mailing list