aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2006-05-22 19:21:41 +0000
committerMark Wielaard <mark@gcc.gnu.org>2006-05-22 19:21:41 +0000
commit6a70560c4c363f6d7d9a927a146d77753b2f041b (patch)
treea27ca5e4b0f7135d2f56b96014ce4d57309124f4
parente962c46b2054ffa2c78b3f1f0829145dcefdb49f (diff)
downloadgcc-6a70560c4c363f6d7d9a927a146d77753b2f041b.zip
gcc-6a70560c4c363f6d7d9a927a146d77753b2f041b.tar.gz
gcc-6a70560c4c363f6d7d9a927a146d77753b2f041b.tar.bz2
* HACKING: Update GNU Classpath import instructions.
From-SVN: r113989
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/HACKING44
2 files changed, 37 insertions, 11 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 964bf02..874a8fe 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2006-05-22 Mark Wielaard <mark@klomp.org>
+
+ * HACKING: Update GNU Classpath import instructions.
+
2006-05-21 Andreas Tobler <a.tobler@schweiz.ch>
* java/lang/natClass.cc (_Jv_FindMethodInCache): Mark klass, name and
diff --git a/libjava/HACKING b/libjava/HACKING
index 7a9b69d..401cac2 100644
--- a/libjava/HACKING
+++ b/libjava/HACKING
@@ -14,11 +14,36 @@ tree.
To import a new release:
-- Check out a classpath snapshot
+- Check out a classpath snapshot or take a release tar.gz file.
I use 'cvs export' for this. Make a tag to ensure future hackers
know exactly what revision was checked out; tags are of the form
'libgcj-import-DATE'.
+- Get a svn checkout of
+ svn+ssh://gcc.gnu.org/svn/gcc/branches/CLASSPATH/libjava/classpath
+ this contains "pure" GNU Classpath inside the GCC tree.
+- Clean it up and get the files from a new version:
+ - find classpath -type f | grep -v /\.svn | grep -v /\.cvs
+ - tar zxf classpath-x.tar.gz
+ - cp -r classpath-x/* classpath
+- Add/Remove files:
+ - svn status classpath | grep ^\! | cut -c8- | xargs svn remove
+ - svn status classpath | grep ^\? | cut -c8- | xargs svn add
+- If there are any empty directories now they can be removed.
+- Update vendor branch
+ - svn commit classpath
+- Note the new revision number (Xrev)
+- Get a fresh svn trunk checkout and cd gcc/libjava
+- Merge the changes between classpath versions into the trunk.
+ svn merge -rXrev-1:Xrev \
+ svn+ssh://gcc.gnu.org/svn/gcc/branches/CLASSPATH/libjava/classpath \
+ classpath
+- Resolve any conflicts pointed out by svn status classpath | grep ^C
+ - Makefile.in files will be regenerated in the next step.
+ - Other files should have a "GCJ LOCAL" comment, and/or are mentioned
+ in the classpath/ChangeLog.gcj file.
+ (Don't forget to svn resolved files.)
- Use auto* to create configure, Makefile.in, etc
+ Make sure you have Automake 1.9.3 installed. Exactly that version!
You have to make sure to use the gcc libtool.m4 and gcc lt* scripts
cd .../classpath
cp ../../lt* .
@@ -28,16 +53,13 @@ To import a new release:
autoheader
automake
rm -rf autom4te.cache
-- Test everything first. The simplest way to do this is by overlaying
- the checked out classpath on your gcc tree and then doing a build.
-- Use 'cvs import' to import. The vendor tag is 'CLASSPATH'. For the
- release tag, if this is a released classpath version, use something
- like 'classpath-import-VERSION'; otherwise something like
- 'classpath-import-DATE'.
- Be sure to use -ko and -I\!
-- Remove any files that were deleted in Classpath
-- Run 'scripts/makemake.tcl > sources.am' in the source tree
-- Run automake for libgcj
+ cd ..
+ scripts/makemake.tcl > sources.am
+ automake
+- Build, fix, till everything works.
+ Possibly update the gcj/javaprims.h file with scripts/classes.pl
+ (See below, it can only be done after the first source->bytecode
+ pass has finished.)
Over time we plan to remove as many of the remaining divergences as
possible.