From 5409bf7c7952e6698116cbe8df7264584a575f8d Mon Sep 17 00:00:00 2001 From: mark Date: Mon, 22 May 2006 19:21:41 +0000 Subject: [PATCH] * HACKING: Update GNU Classpath import instructions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113989 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 4 ++++ libjava/HACKING | 44 +++++++++++++++++++++++++++++++++----------- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 964bf0293dc..874a8fe16a5 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2006-05-22 Mark Wielaard + + * HACKING: Update GNU Classpath import instructions. + 2006-05-21 Andreas Tobler * java/lang/natClass.cc (_Jv_FindMethodInCache): Mark klass, name and diff --git a/libjava/HACKING b/libjava/HACKING index 7a9b69d6ff1..401cac2a37a 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. -- 2.11.4.GIT