public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Patch: update documentation for gcj-eclipse merge
@ 2007-01-06  0:31 Tom Tromey
  2007-01-06  1:17 ` Gerald Pfeifer
  2007-01-06  9:48 ` Richard Guenther
  0 siblings, 2 replies; 12+ messages in thread
From: Tom Tromey @ 2007-01-06  0:31 UTC (permalink / raw)
  To: Gcc Patch List

This patch updates the documentation to reflect how things will work
after the gcj-eclipse merge is checked in.  I'd like this to be
approved so that I can commit it after I commit the merge.

With this merge, you need an 'ecj1' executable to get a fully
functioning gcj.  We provide a jar download and some configury to make
this simple to use; this patch adds a contrib/download_ecj script to
help with this.

This patch also documents the various prerequisites, new configure
flags, etc.

Ok?

Tom

gcc/doc
2007-01-05  Tom Tromey  <tromey@redhat.com>

	* doc/sourcebuild.texi (libgcj Tests): Don't mention jacks.
	* doc/install.texi (Testing): Don't mention jacks.
	(Configuration): Document --enable-java-maintainer-mode.  Move
	--with-java-home to libgcj-specific section.  Document
	--with-ecj-jar.
	(Prerequisites): Mention --enable-java-maintainer-mode, ecj1.

contrib
2007-01-05  Tom Tromey  <tromey@redhat.com>

	* download_ecj: New file.



Index: sourcebuild.texi
===================================================================
--- sourcebuild.texi	(.../trunk/gcc/doc)	(revision 118943)
+++ sourcebuild.texi	(.../branches/gcj/gcj-eclipse-merge-branch/gcc/doc)	(revision 120511)
@@ -1,4 +1,4 @@
-@c Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+@c Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
 @c This is part of the GCC manual.
 @c For copying conditions, see the file gcc.texi.
 
@@ -1299,14 +1299,8 @@
 Update this file when adding new failing tests to Mauve, or when fixing
 bugs in libgcj that had caused Mauve test failures.
 
-The @uref{http://sources.redhat.com/mauve/jacks.html,,
-Jacks} project provides a testsuite for Java compilers that can be used
-to test changes that affect the GCJ front end.  This testsuite is run as
-part of Java testing by placing the Jacks tree within the libjava
-testsuite sources at @file{libjava/testsuite/libjava.jacks/jacks}.
+We encourage developers to contribute test cases to Mauve.
 
-We encourage developers to contribute test cases to Mauve and Jacks.
-
 @node gcov Testing
 @subsection Support for testing @command{gcov}
 
Index: install.texi
===================================================================
--- install.texi	(.../trunk/gcc/doc)	(revision 118943)
+++ install.texi	(.../branches/gcj/gcj-eclipse-merge-branch/gcc/doc)	(revision 120511)
@@ -43,7 +43,7 @@
 @end ifset
 
 @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-@c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+@c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
 
 @c IMPORTANT: whenever you modify this file, run `install.texi2html' to
@@ -431,6 +431,17 @@
 Necessary when applying patches, created with @command{diff}, to one's
 own sources.
 
+@item ecj1
+@itemx gjavah
+
+If you wish to modify @file{.java} files in libjava, you will need to
+configure with @code{--enable-java-maintainer-mode}, and you will need
+to have executables named @code{ecj1} and @code{gjavah} on your path.
+The @code{ecj1} executable should run the Eclipse Java compiler via
+the GCC-specific entry point.  You can download a suitable jar from
+@uref{ftp://sources.redhat.com/pub/java/}, or by running the script
+@file{contrib/download_ecj}.
+
 @end table
 
 @html
@@ -1101,14 +1112,6 @@
 parallel.  This is currently supported by @samp{libgfortran},
 @samp{libjava}, @samp{libmudflap}, @samp{libstdc++}, and @samp{libobjc}.
 
-@item --with-java-home=@var{dirname}
-This @samp{libjava} option overrides the default value of the
-@samp{java.home} system property.  It is also used to set
-@samp{sun.boot.class.path} to @file{@var{dirname}/lib/rt.jar}.  By
-default @samp{java.home} is set to @file{@var{prefix}} and
-@samp{sun.boot.class.path} to
-@file{@var{datadir}/java/libgcj-@var{version}.jar}.
-
 @item --enable-languages=@var{lang1},@var{lang2},@dots{}
 Specify that only a particular subset of compilers and
 their runtime libraries should be built.  For a list of valid values for
@@ -1419,6 +1422,40 @@
 @subsubheading General Options
 
 @table @code
+@item --enable-java-maintainer-mode
+By default the @samp{libjava} build will not attempt to compile the
+@file{.java} source files to @file{.class}.  Instead, it will use the
+@file{.class} files from the source tree.  If you use this option you
+must have executables named @samp{ecj1} and @samp{gjavah} in your path
+for use by the build.  You must use this option if you intend to
+modify any @file{.java} files in @samp{libjava}.
+
+@item --with-java-home=@var{dirname}
+This @samp{libjava} option overrides the default value of the
+@samp{java.home} system property.  It is also used to set
+@samp{sun.boot.class.path} to @file{@var{dirname}/lib/rt.jar}.  By
+default @samp{java.home} is set to @file{@var{prefix}} and
+@samp{sun.boot.class.path} to
+@file{@var{datadir}/java/libgcj-@var{version}.jar}.
+
+@item --with-ecj-jar=@var{filename}
+This option can be used to specify the location of an external ``ecj''
+jar; that is, the jar file containing the Eclipse Java compiler.  A
+specially modified version of this compiler is used by @samp{gcj} to
+parse @file{.java} source files.  If this option is given, the
+@samp{libjava} build will create and install an @file{ecj1} executable
+which uses this jar file at runtime.
+
+If this option is not given, but an @file{ecj.jar} file is found in
+the topmost source tree at configure time, then the @samp{libgcj}
+build will create and install @file{ecj1}, and will also install the
+discovered @file{ecj.jar} into a suitable place in the install tree.
+
+If @file{ecj1} is not installed, then the user will have to supply one
+on his path in order for @samp{gcj} to properly parse @file{.java}
+source files.  A suitable jar is available from
+@uref{ftp://sources.redhat.com/pub/java}.
+
 @item --disable-getenv-properties
 Don't set system properties from @env{GCJ_PROPERTIES}.
 
@@ -1983,11 +2020,6 @@
 specifying the location of that tree when invoking @samp{make}, as in
 @samp{make MAUVEDIR=~/mauve check}.
 
-@uref{http://sources.redhat.com/mauve/jacks.html,,Jacks}
-is a free testsuite that tests Java compiler front ends.  This suite
-can be run as part of libgcj testing by placing the Jacks tree within
-the libjava testsuite at @file{libjava/testsuite/libjava.jacks/jacks}.
-
 @section How to interpret test results
 
 The result of running the testsuite are various @file{*.sum} and @file{*.log}

Index: download_ecj
===================================================================
--- download_ecj	(.../trunk/contrib)	(revision 0)
+++ download_ecj	(.../branches/gcj/gcj-eclipse-merge-branch/contrib)	(revision 120512)
@@ -0,0 +1,25 @@
+#! /bin/sh
+
+#
+# Download the ecj jar file needed by gcj.
+# Run this from the top level of the gcc source tree and the libjava
+# build will do the right thing.
+#
+# (C) 2006 Free Software Foundation
+#
+# This script is Free Software, and it can be copied, distributed and
+# modified as defined in the GNU General Public License.  A copy of
+# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
+#
+
+ftp -n sources.redhat.com << EOF
+verbose
+hash
+user ftp ''
+cd /pub/java
+binary
+get ecj-latest.jar
+EOF
+
+mv ecj-latest.jar ecj.jar
+

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-01-15 19:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-06  0:31 Patch: update documentation for gcj-eclipse merge Tom Tromey
2007-01-06  1:17 ` Gerald Pfeifer
2007-01-06 19:13   ` Tom Tromey
2007-01-08 21:41   ` Tom Tromey
2007-01-08 23:18   ` Tom Tromey
2007-01-15  1:26     ` Gerald Pfeifer
2007-01-15 19:52       ` Tom Tromey
2007-01-06  9:48 ` Richard Guenther
2007-01-06 14:25   ` Andrew Haley
2007-01-06 14:31     ` Andrew Haley
2007-01-06 19:07     ` Tom Tromey
2007-01-08 21:57       ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).