summaryrefslogtreecommitdiff
path: root/HACKING
blob: f1f9fb4a1ae05237de4b558d01027c8f3a6a4c26 (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
If you want to hack on GNU Classpath it will make things easier if you
have the following installed:

        - GNU autoconf 2.13
        - GNU automake 1.4
        - GNU libtool 1.3.3
        - Kaffe 1.0.5+
        - GTK+ 1.2.x
        - IBM jikes 1.0.9+

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

        aclocal; autoheader; automake; autoconf

Next you run configure.  Options you'll probably want to specify
include --with-jikes, --with-javah={path to kaffeh}/kaffeh,
--with-classlib={path to Klasses.jar}/Klasses.jar and 
--with-japhar={prefix to Japhar}.  For native compilation you need 
jni.h from the JDK or Japhar in your include path.  This is done 
automatically for you if you specify --with-japhar.

Eventually jikes should contain a patch for placing .u (dependency
files) where -d would also place class files.  This will be used in 
'make dist'.

The following is a rough list of tasks which need to be completed:

        * Port to new platforms.  Most of us develop on GNU/Linux so
          our platform support may not be up to par.

        * java.awt.image needs to be stubbed out.

        * java.awt does not work yet.        

        * java.math needs some work.  This includes one missing 
	  function and setting up BigInteger.c in the native compile.

	* java.security needs some work.  SecureClassLoader needs work
	  but it relies on some 1.2 ClassLoader stuff which isn't 
	  implemented at the moment.

        * GNU Classpath needs to work with Kaffe.  There is
          documentation on the efforts made to originally make
          Classpath work with Japhar in docs/ and on the web-site.

        * Update the web-site

        * Make multiple 'dist' or 'install' targets for different 
	  packages including java.awt, java.lang, etc. but also for
          gnu.java.awt.peer.gtk.

        * Fix the build so that distributions won't have the same high
          requires as CVS.  Shouldn't be much left to do this.  Some
	  more work can be done to make builds from CVS easier.

        * Create configure, etc. for the swing project.

        * There are compiling errors located in lib/errors.txt (you
          have to try compiling first).

        * native compilation for the gtk peers is failing and needs to
          be fixed.

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