This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[ecj] Patch: FYI: update documentation
- From: Tom Tromey <tromey at redhat dot com>
- To: Java Patch List <java-patches at gcc dot gnu dot org>
- Date: 18 Oct 2006 17:28:39 -0600
- Subject: [ecj] Patch: FYI: update documentation
- Reply-to: tromey at redhat dot com
I'm checking this in on the gcj-eclipse branch.
This updates the gcc install instructions to document the changes
required for ecj. Please look them over and let me know if they seem
clear enough.
I still haven't handled the 'javah' situation. I am not sure what the
best approach is.
On the one hand, we could easily upload a 'gcjh.jar' to
sources.redhat.com. However, with the next import all the needed code
will be in the source tree, and we'll be installing gcjh as before.
So, perhaps we should just hold off until the next import... when
building libgcj, gcjh is now only needed for folks who use
--enable-maintainer-mode.
Also worth considering is whether we'll import another Classpath
release before we merge this branch into the trunk. If not, then I
suppose we ought to make a gcjh.jar more readily available.
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
PR java/28938:
* doc/install.texi (Prerequisites): Mention ecj1.
(Configuration): Move --with-java-home to libgcj-specific
section. Document --with-ecj-jar.
Index: doc/install.texi
===================================================================
--- doc/install.texi (revision 117511)
+++ doc/install.texi (working copy)
@@ -421,6 +421,16 @@
Necessary when applying patches, created with @command{diff}, to one's
own sources.
+@item ecj1
+
+If you wish to modify @file{.java} files in libjava, you will need to
+configure with @code{--enable-maintainer-mode}, and you will need to
+have an executable named @code{ecj1} on your path. This 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
@@ -1091,14 +1101,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
@@ -1409,6 +1411,32 @@
@subsubheading General Options
@table @code
+@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}.