summaryrefslogtreecommitdiff
path: root/HACKING
blob: 4c1d7981050f7e8e62d576a28dbb9cb52e1e06e3 (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
73
74
75
76
77
78
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
        - GTK+ 1.2.x
        - IBM jikes 1.0.9+
	- libart_lgpl 2.1.0
	- gdk-pixbuf (latest out of gnome.org's CVS)

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 jdk}/javah,
--with-classlib={path to classes.jar}/classes.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.  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.

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.

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.


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.

	* We no longer are able to cross-compile Classpath because
	  we are using configure to determine the endian-ness of
	  the platform.

        * 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.

        * 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.

	* GNU Classpath should not depend on Japhar or Kaffe for 
	  jni.h.  It should be possible to generate a proper jni.h
	  from configure for instance.

        * 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
          requirements 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.

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