This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Importing GNU Classpath 0.91 on gcc classpath svn branch


On Thu, 2006-05-18 at 10:34 -0600, Tom Tromey wrote:
> >>>>> "Mark" == Mark Wielaard <mark@klomp.org> writes:
> 
> Mark> I made some notes on how I do these merges so others can
> Mark> improve the process
> 
> Please update libjava/HACKING with this info.

OK, done with this patch:

2006-05-22  Mark Wielaard  <mark@klomp.org>

       * HACKING: Update GNU Classpath import instructions.

I updated it with some of your comments and the tip for svn merge from
Haren Visavadia.

Cheers,

Mark
Index: HACKING
===================================================================
--- HACKING	(revision 113987)
+++ HACKING	(working copy)
@@ -14,11 +14,36 @@
 
 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 @@
   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.

Attachment: signature.asc
Description: This is a digitally signed message part


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]