| Things libgcj hackers should know |
| --------------------------------- |
| |
| If you want to hack on the libgcj files you need to be aware of the |
| following things. There are probably lots of other things that should be |
| explained in this HACKING file. Please add them if you discover them :) |
| |
| -- |
| |
| A lot of the standard library files come from the GNU Classpath project. |
| <http://www.gnu.org/software/classpath/> |
| The libgcj and Classpath project have officially merged, but the merge |
| is not yet complete. Our eventual goal is for Classpath to be an upstream |
| source provider for libgcj, however it will be some time before this becomes |
| reality: libgcj and Classpath have different implementations of many core |
| java classes. In order to merge them, we need to select the best (most |
| efficient, cleanest) implementation of each method/class/package, resolve |
| any conflicts created by the merge, and test the final result. |
| |
| The merged files can be recognized by the standard Classpath copyright |
| comments at the top of the file. If you make changes to these files then |
| you should also send a patch to the classpath mailinglist. |
| <http://mail.gnu.org/mailman/listinfo/classpath/> |
| <mailto:classpath@gnu.org> |
| |
| If you merge a libgcj class with a classpath class then you must update the |
| copyright notice at the top of the file so others can see that this is a |
| shared libgcj/classpath file. |
| |
| -- |
| |
| If you need to add new java files to libgcj then you have to edit the |
| Makefile.am file in the top (libjava) directory. And run automake. |
| But note the following (thanks to Bryce McKinlay): |
| |
| > Do you know the magic dance I have to do when adding files to Makefile.am |
| > so they will appear in Makefile.in and finally in the user generated |
| > Makefile? |
| Yup, you need the magic libgcj automake ;-) |
| |
| <ftp://ftp.freesoftware.com/.0/sourceware/java/automake-gcj-1.4.tar.gz> |
| |
| Install that (dont worry, it should still work for other projects), add your |
| files to the Makefile.am, then just type "automake" and it will regenerate the |
| Makefile.in. Easy! |
| |