Installation instructions for the JC virtual machine: 0. Install these support software packages if not already installed on your machine: libpopt: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/popt-1.6.4.tar.gz FreeBSD: devel/popt Debian: libpopt-dev libz: http://www.gzip.org/zlib/ Should come installed with FreeBSD. Debian: zlib1g-dev libcrypto: http://www.openssl.org/ Should come installed with FreeBSD as part of OpenSSL. Debian: libssl-dev Optional: Another "Java 2" compatible JVM installed, such as Sun's JDK, kaffe, SableVM, etc. This is needed during installation only. 1. Install classpath-0.19. You can get it from ftp://ftp.gnu.org/pub/gnu/classpath/classpath-0.19.tar.gz FreeBSD: java/classpath Debian: classpath If you want/need to build and install Classpath manually, first install jikes (preferably version 1.22): ftp://www-126.ibm.com/pub/jikes/1.22/jikes-1.22.tar.gz FreeBSD: java/jikes Debian: jikes Then: $ ./configure --prefix=/usr/local --enable-jni --with-jikes $ gmake $ gmake install NOTE: you should add the "--disable-gtk-peer" flag to configure if you don't have the required GTK stuff installed on your machine. NOTE: Classpath requires GNU make to build. 2. Build and install JC via these commands: $ ./configure --with-classpath=DIR $ make $ make install where DIR is the Classpath is install location, i.e., the --prefix you configured Classpath with. Classpath's default prefix is /usr/local/classpath, but packaging systems often change this. E.g., on Debian, if using the classpath package, use "--with-classpath=/usr". 3. Create your personalized .jc startup file: $ printf "# JC defaults\n\nverbose=gc,gen\n\n" > ~/.jc This example turns on verbose output for code generation and garbage collection. 4. You're ready to go! $ jc --help Online documentation is available in info format (installed in the usual place) or HTML format (PREFIX/share/jc/doc/jc.html). There is also a man page, jc(1). NOTES: 0. The JC distribution includes pre-generated C source files for all installed classes including Classpath. The C source files depend on the exact contents of the class files; therefore, any Classpath classes that differ will cause the corresponding C source files to be invalid, and such files will be automatically regenerated during the install process. The pre-generated source files correspond to Classpath 0.19, configured with "--with-jikes --prefix=/usr/local", and compiled by jikes 1.22. If you are using a different version of Classpath, built the classfiles with a compiler other than jikes 1.22, or installed Classpath in a different location, then some pre-generated C source files will appear invalid and have to be regenerated, which will lengthen the installation time. The install process try to will use another installed JVM to bootstrap generate these sources if present. The Sun JDK should normally be detected during the configure process but you can explicitly specify one via the "JAVA" environment variable when running configure. The installation process has not been tested with other VM's; you may need to edit the Makefile to adjust the maximum heap, etc. If another Java VM is not detected, installation will still succeed but no sources will be regenerated (i.e., the pre-generated sources shipped with JC are compiled without checking). In either case, ELF objects will be created for all classes during installation by compiling the generated sources with GCC. 1. Regenerating source files for all of Classpath takes hours. Even if regeneration is not required (see #0 above), the installed source and object files require over 1/2 G of disk space. You can completely disable the installation and compilation of the pre-generated sources by configuring JC with the ./configure flag "--disable-pregenerated-sources". 2. See http://jcvm.sourceforge.net/share/jc/doc/jc.html#Running%20JC for tips on optimizing JC's performance. $Id: INSTALL,v 1.27 2005/11/09 18:14:21 archiecobbs Exp $