[kaffe] CVS kaffe (robilad): Updated jikes recommendation to 1.22
Kaffe CVS
cvs-commits at kaffe.org
Wed Jul 6 14:24:44 PDT 2005
PatchSet 6708
Date: 2005/07/06 21:18:24
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Updated jikes recommendation to 1.22
2005-07-06 Dalibor Topic <robilad at kaffe.org>
* FAQ/FAQ.classlibrary-compile: Recommend jikes 1.22.
Reported by: Akhilesh Shirbhate <akhilesh.hacking at gmail.com>
Members:
ChangeLog:1.4232->1.4233
FAQ/FAQ.classlibrary-compile:INITIAL->1.19
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4232 kaffe/ChangeLog:1.4233
--- kaffe/ChangeLog:1.4232 Wed Jul 6 21:04:36 2005
+++ kaffe/ChangeLog Wed Jul 6 21:18:24 2005
@@ -1,5 +1,11 @@
2005-07-06 Dalibor Topic <robilad at kaffe.org>
+ * FAQ/FAQ.classlibrary-compile: Recommend jikes 1.22.
+
+ Reported by: Akhilesh Shirbhate <akhilesh.hacking at gmail.com>
+
+2005-07-06 Dalibor Topic <robilad at kaffe.org>
+
* libraries/clib/awt/classpath-gtk/gtk-peer/Makefile.am
(libgtkpeer_la_SOURCES): Removed gnu_java_awt_peer_gtk_GtkTextComponentPeer.c.
===================================================================
Checking out kaffe/FAQ/FAQ.classlibrary-compile
RCS: /home/cvs/kaffe/kaffe/FAQ/FAQ.classlibrary-compile,v
VERS: 1.19
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/FAQ/FAQ.classlibrary-compile Wed Jul 6 21:24:43 2005
@@ -0,0 +1,183 @@
+
+How do I compile the class library?
+-----------------------------------
+
+Cd to your build directory (the same as the source directory if you
+did ./configure), then cd to libraries/javalib.
+
+Type "make".
+
+This will build the java libraries, put them in a rt.jar file
+and overwrite the version in your source tree. Type "make install"
+to install the jar file in your target prefix.
+
+If you have added or removed files from the javalib tree, you will have
+to update Makefile.am, Makefile.in and Makefile. Do this as follows:
+
+ $ cd ../..
+ $ sh developers/autogen.sh
+ $ ./configure
+
+Please use the version of automake as described in FAQ.automake.
+This version will minimize your diffs with the CVS tree as it is
+the version used by the kaffe developers.
+
+If you want to rebuild not only Klasses.jar, but also the jar-files of
+Kaffe extensions, type "make CLASSDIRS=all Klasses".
+
+How do I set the compiler?
+--------------------------
+
+The ./configure script has the --with-jikes option. If you don't set
+it at all, the build system will use the compiler specified by the
+JAVAC environment variable. If no compiler is specified in JAVAC, the
+build system will use the included kjc Java compiler.
+
+Setting --with-jikes=yes will use the jikes compiler if one can
+be found. You can also specify the absolute path to a jikes executable
+using --with-jikes=/absolute-path-to/jikes.
+
+You can also use the absolute path to specify other Java
+compilers. For example, in order to use gcj to compile the class
+library, you would run ./configure --with-jikes=/path-to/gcj. The same
+method can be applied to configure kaffe to compile the class library
+using Sun's javac compiler, or any other Java compiler.
+
+If you manage to compile kaffe's class library using a Java compiler
+other than javac, kjc, jikes or gcj, please send a message to
+kaffe at kaffe.org.
+
+How do I pass flags to the compiler?
+--------------------------------------
+
+Use the JAVAC_FLAGS environment variable.
+
+make JAVAC_FLAGS="-verbose"
+
+will compile the class library with verbose messages about the
+compilation process. Which flags you can set depends on the Java
+compiler you use.
+
+What compilers are known to work?
+---------------------------------
+
+* jikes
+
+The preferred compiler is jikes. The URL for jikes is:
+
+ http://www10.software.ibm.com/developerworks/opensource/jikes/
+
+Please note that jikes 1.14 and 1.15 have bugs that result in a
+miscompiled Klasses.jar file.
+
+The recommended version of jikes is 1.22 or higher.
+
+* kjc
+
+The included compiler, kjc, also works. kjc is part of the Kopi project:
+
+ http://www.dms.at/kopi/kjc.html
+
+* javac
+
+Sun's javac compiler from JDK 1.3 and JDK 1.4 works as well. You have
+to add "-bootclasspath lib/" to your JAVAC_FLAGS to avoid build
+problems due to Sun's javac linking Sun's class libraries with kaffe's.
+
+No known older version of Sun's javac compiler (up through JDK 1.2)
+will compile Kaffe's classes, due to bugs that Sun has yet to fix.
+
+What compilers are known not to work?
+-------------------------------------
+
+FSF's gcj doesn't work up to version 3.3.
+
+In order to compile the class library with gcj to bytecodes instead of
+native code, you need to pass it the "-C" flag. Unfortunately, gcj has
+some bugs that prevent it from compiling kaffe's class library at the
+moment.
+
+If you have managed to compile the class library using any version of
+gcj, please write to kaffe at kaffe.org.
+
+How do I adapt the class library to my needs?
+---------------------------------------------
+
+If you are using kaffe on an embedded system, you may want to use only
+a part of the functionality provided by the class library. For
+example, you may not need JAXP or AWT on your system. So you shouldn't
+have to waste space on the device by including classes you are not
+going to use.
+
+Kaffe supports user defined class library profiles. A profile file
+tells the build process where to find a list of files to be compiled
+into the class library.
+
+The default profile in libraries/javalib/all.files lists all files
+that are included into the class library. It is a simple list of
+java source files that should be compiled together in a compiler run.
+They are passed to the compiler using the
+ at file-containing-a-list-of-sources option, so that it works on systems
+with a small maximal command line length.
+
+For example, in order to remove the AWT classes from your class
+library, you can simply remove the lines with files from java.awt package
+from the profile. You can also remove single classes in the same fashion.
+
+If you work with your own profiles, it is recommended to use Jikes. Jikes
+takes care about compiling the dependencies of files included in your
+profile automatically.
+
+How do I add classes to a class library profile?
+------------------------------------------------
+
+If you want to add a class to specific compiler run, just add the path
+to its source to the file listing the classes to be compiled in that
+run.
+
+How do I use own class library profile?
+------------------------------------------
+
+The configure script has the option --with-class-library-profile,
+which allows you to specify a profile to use for the class library.
+You must specify the absolute path to the profile file.
+
+Which profiles are available?
+-----------------------------
+
+Currently, there is only the default profile available.
+
+* default:
+
+ Builds the whole class library at once.
+
+If you write your own profiles, send them to the kaffe mailing list
+kaffe at kaffe.org.
+
+How do I use a precompiled class library?
+-----------------------------------------
+
+The configure script allows you to specify a precompiled rt.jar file
+using the --with-rt-jar option. The specified jar file will be
+installed as kaffe's class library.
+
+That allows you to precompile kaffe's class library on a faster
+platform than the one you're building on, for example.
+
+You can not use the class library from another JVM.
+
+Crashes during compilation of class library
+-------------------------------------------
+
+When kaffe crashes during compilation of class library, you should try
+to compile the class library with jikes, or another Java compiler. Or
+you can use a precompiled rt.jar.
+
+You should first rebuild kaffe with --enable-debug, install it, set
+KAFFE_DEBUG to the debugger of your choice, and try to rebuild kaffe
+with kjc from the freshly installed, broken kaffe.
+
+So if you're having problems with the JIT, you could configure kaffe
+for rebuild using --with-jikes="/path/to/broken/kaffe -vmdebug
+JIT,MOREJIT at.dms.kjc.Main". The extra output from the jit engine
+should give you an idea where to start debugging.
More information about the kaffe
mailing list