* doc/tm.texi: Update some places for the rename of target to
[official-gcc.git] / libjava / HACKING
blob651e1a3299399a9c85a7a5606c55d10a473e9755
1 Things libgcj hackers should know
2 ---------------------------------
4 If you want to hack on the libgcj files you need to be aware of the
5 following things. There are probably lots of other things that should be
6 explained in this HACKING file. Please add them if you discover them :)
8 --
10 A lot of the standard library files come from the GNU Classpath project.
11 <http://www.gnu.org/software/classpath/>
12 The libgcj and Classpath project have officially merged, but the merge
13 is not yet complete. Our eventual goal is for Classpath to be an upstream
14 source provider for libgcj, however it will be some time before this becomes
15 reality: libgcj and Classpath have different implementations of many core
16 java classes. In order to merge them, we need to select the best (most
17 efficient, cleanest) implementation of each method/class/package, resolve
18 any conflicts created by the merge, and test the final result.
20 The merged files can be recognized by the standard Classpath copyright
21 comments at the top of the file. If you make changes to these files then
22 you should also send a patch to the classpath mailinglist.
23 <http://mail.gnu.org/mailman/listinfo/classpath/>
24 <mailto:classpath@gnu.org>
26 If you merge a libgcj class with a classpath class then you must update the
27 copyright notice at the top of the file so others can see that this is a
28 shared libgcj/classpath file.
32 If you need to add new java files to libgcj then you have to edit the
33 Makefile.am file in the top (libjava) directory. And run automake.
34 But note the following (thanks to Bryce McKinlay):
36 > Do you know the magic dance I have to do when adding files to Makefile.am
37 > so they will appear in Makefile.in and finally in the user generated
38 > Makefile?
39 Yup, you need the magic libgcj automake ;-)
41 <ftp://ftp.freesoftware.com/.0/sourceware/java/automake-gcj-1.4.tar.gz>
43 Install that (dont worry, it should still work for other projects), add your
44 files to the Makefile.am, then just type "automake" and it will regenerate the
45 Makefile.in. Easy!