summaryrefslogtreecommitdiff
path: root/HACKING
blob: 9cc4bbfcab817744bf1a7c0428377171d96b4723 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
HACKING GNU Classpath - Last updated: Feb 07, 2002
Please read the README and INSTALL files first.

You only need the information in this file when working on non-released (CVS)
versions of GNU Classpath. Installation information for released versions
of GNU Classpath can be found in the INSTALL file.

If you want to hack on GNU Classpath it will make things easier if you
have the following installed:

For any build environment involving native libraries, these new versions of 
autoconf, automake, and libtool are required.

        - GNU autoconf 2.52
        - GNU automake 1.5
        - GNU libtool 1.4.2

For building the Java bytecode (.class files)

        - IBM jikes 1.13 (newer versions up to 1.15 appear to be broken)
	  or GCJ 3.0.2+

For building the JNI native libraries, the following are required.

	- gcjh from GCJ 2.96+, others can be specified with --with-javah=kaffeh
          but have not been tested and may not work
        - GTK+ 1.2.x
	- libart_lgpl 2.1.0
	- gdk-pixbuf (Only needed if you want to compile the native library)

You can get CVS (development) versions of GNU Classpath by giving cvs the
-d option with (or setting the environment variable CVSROOT to)
:pserver:anoncvs@subversions.gnu.org:/cvsroot/classpath
    --> First do "cvs login".  Hit <Return> when prompted for a password
    --> Then do "cvs checkout classpath"
    --> More detailed instructions available on the Savannah project website.
        <http://savannah.gnu.org/projects/classpath/>

If you start from the current CVS version, you will have to run the
following from the toplevel directory.

        aclocal; autoheader; automake; autoconf

For those that do not understand why these programs must be executed, here
is a brief lesson.  

	aclocal    - combines acinclude.m4 and system macros to produce 
                     aclocal.m4
	autoheader - generates config.h.in in the include/ directory
	automake   - generates Makefile.in from Makefile.am for every file
                     specified as output in configure.in
        autoconf   - generates configure

Next you run configure.  Options you'll probably want to specify
may include --enable-jni.

By default the core classes are compiled using vm/reference JVM specific
classes.  As a VM writer you may take these reference classes and modify
them as you wish as long as the public interface remains the same and 
no modifications to other core parts of Classpath should be needed.

Gnome cvs can be obtained with 
:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome and a blank password.  
The module name for gdk-pixbuf is gdk-pixbuf.

There should be no compiling errors within Java source code which is
checked in.  Code should be compiled in the build process before
checking it in.

If you have any questions, suggestions, etc., send them to
classpath@gnu.org.