1 |
If you want to hack on GNU Classpath it will make things easier if you |
If you want to hack on GNU Classpath it will make things easier if you |
2 |
have the following installed: |
have the following installed: |
3 |
|
|
4 |
- GNU autoconf 2.13 |
For any build environment involving native libraries, these new versions of |
5 |
- GNU automake 1.4 |
autoconf, automake, and libtool are required. |
6 |
- GNU libtool 1.3.3 |
|
7 |
|
- GNU autoconf 2.52 |
8 |
|
- GNU automake 1.5 |
9 |
|
- GNU libtool 1.4.2 |
10 |
|
|
11 |
|
For building the Java bytecode (.class files) |
12 |
|
|
13 |
|
- IBM jikes 1.13 (newer versions up to 1.15 appear to be broken) |
14 |
|
or GCJ 3.0.2+ |
15 |
|
|
16 |
|
For building the JNI native libraries, the following are required. |
17 |
|
|
18 |
|
- gcjh from GCJ 2.96+, others can be specified with --with-javah=kaffeh |
19 |
|
but have not been tested and may not work |
20 |
- GTK+ 1.2.x |
- GTK+ 1.2.x |
|
- IBM jikes 1.0.9+ |
|
21 |
- libart_lgpl 2.1.0 |
- libart_lgpl 2.1.0 |
22 |
- gdk-pixbuf (latest out of gnome.org's CVS) |
- gdk-pixbuf (Only needed if you want to compile the native library) |
23 |
|
|
24 |
If you start from the current CVS version, you will have to run the |
If you start from the current CVS version, you will have to run the |
25 |
following from the toplevel directory. |
following from the toplevel directory. |
26 |
|
|
27 |
aclocal; autoheader; automake; autoconf |
aclocal; autoheader; automake; autoconf |
28 |
|
|
29 |
|
For those that do not understand why these programs must be executed, here |
30 |
|
is a brief lesson. |
31 |
|
|
32 |
|
aclocal - combines acinclude.m4 and system macros to produce |
33 |
|
aclocal.m4 |
34 |
|
autoheader - generates config.h.in in the include/ directory |
35 |
|
automake - generates Makefile.in from Makefile.am for every file |
36 |
|
specified as output in configure.in |
37 |
|
autoconf - generates configure |
38 |
|
|
39 |
Next you run configure. Options you'll probably want to specify |
Next you run configure. Options you'll probably want to specify |
40 |
include --with-jikes, --with-javah={path to jdk}/javah, |
may include --enable-jni. |
41 |
--with-classlib={path to classes.jar}/classes.jar and --with-japhar or |
|
42 |
--with-kaffe, neither of which take an argument. |
By default the core classes are compiled using vm/reference JVM specific |
43 |
|
classes. As a VM writer you may take these reference classes and modify |
44 |
You can also now specify --with-includedir=DIR multiple times to |
them as you wish as long as the public interface remains the same and |
45 |
indicate more include directories. For native compilation you need |
no modifications to other core parts of Classpath should be needed. |
|
jni.h from the JDK, Japhar, or Kaffe in your include path. This is |
|
|
done automatically for you if you specify --with-japhar or |
|
|
--with-kaffe. Otherwise you could probably copy it to |
|
|
classpath/include and it will work. Kaffeh appears to have a small |
|
|
bug which keeps us from using it to generate valid header files. The |
|
|
file kaffe-config is needed to support Kaffe and so far that has not |
|
|
been incorporated into Kaffe (any version) but you can find the |
|
|
message in the archives of the Classpath list and add it to your own |
|
|
installation of Kaffe (reconfigure and install needed). |
|
|
|
|
|
If you have a new VM you would like to compile Classpath for then |
|
|
you'll probably want to modify acinclude.m4 and configure.in to add |
|
|
whatever is relevant but most importantly defining JVM_REFERENCE and |
|
|
then giving us the necessary files to add to the vm/$JVM_REFERENCE |
|
|
directory. The vm integration document describes what those files |
|
|
should minimally include. Otherwise you'll have to have one of Japhar |
|
|
or Kaffe installed and the programs japhar-config or kaffe-config |
|
|
available respectively. |
|
|
|
|
|
Jikes 1.11 should contain a code for placing .u (dependency files) |
|
|
where -d would also place class files. This will be used in the |
|
|
distributions of classpath to make compilation with javac, etc. |
|
|
easier/possible. |
|
46 |
|
|
47 |
Gnome cvs can be obtained with |
Gnome cvs can be obtained with |
48 |
:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome and a blank password. |
:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome and a blank password. |