aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/ChangeLog4
-rwxr-xr-xcontrib/download_ecj25
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/doc/install.texi60
-rw-r--r--gcc/doc/sourcebuild.texi10
5 files changed, 86 insertions, 22 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 91c5e784aad..a097c762ce3 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,7 @@
+2007-01-15 Tom Tromey <tromey@redhat.com>
+
+ * download_ecj: New file.
+
2006-09-27 Matthew Sachs <msachs@apple.com>
* compareSumTests3: POD syntax fix.
diff --git a/contrib/download_ecj b/contrib/download_ecj
new file mode 100755
index 00000000000..5043f940789
--- /dev/null
+++ b/contrib/download_ecj
@@ -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 sourceware.org << EOF
+verbose
+hash
+user ftp ''
+cd /pub/java
+binary
+get ecj-latest.jar
+EOF
+
+mv ecj-latest.jar ecj.jar
+
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 99c9b5744ce..30bc446b07c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2007-01-15 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.
+
2007-01-15 Jan Hubicka <jh@suse.cz>
* tree-ssa-dce.c (DCE_TODOs): New.
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index cf2ee7a2709..599fb65f67c 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -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 @@ Useful when submitting patches for the GCC source code.
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 @option{--enable-java-maintainer-mode}, and you will need
+to have executables named @command{ecj1} and @command{gjavah} in your path.
+The @command{ecj1} executable should run the Eclipse Java compiler via
+the GCC-specific entry point. You can download a suitable jar from
+@uref{ftp://sourceware.org/pub/java/}, or by running the script
+@command{contrib/download_ecj}.
+
@end table
@html
@@ -1101,14 +1112,6 @@ particularly useful if you intend to use several versions of GCC in
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
@@ -1420,6 +1423,40 @@ The following options apply to building @samp{libgcj}.
@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 @command{ecj1} and @command{gjavah} in your path
+for use by the build. You must use this option if you intend to
+modify any @file{.java} files in @file{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 jar
+file containing the Eclipse Java compiler. A specially modified
+version of this compiler is used by @command{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 @command{gcj} to properly parse @file{.java}
+source files. A suitable jar is available from
+@uref{ftp://sourceware.org/pub/java/}.
+
@item --disable-getenv-properties
Don't set system properties from @env{GCJ_PROPERTIES}.
@@ -1984,11 +2021,6 @@ testsuite at @file{libjava/testsuite/libjava.mauve/mauve}, or by
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}
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 98637a85806..7498047f6ce 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -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.
@@ -1288,13 +1288,7 @@ failures for a test run against the list of expected failures in
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 and Jacks.
+We encourage developers to contribute test cases to Mauve.
@node gcov Testing
@subsection Support for testing @command{gcov}