This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Patch to add java.generated-manpages
- From: Matthias Klose <doko at cs dot tu-berlin dot de>
- To: gcc-patches at gcc dot gnu dot org, java-patches at gcc dot gnu dot org
- Cc: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- Date: Sun, 9 Dec 2001 14:42:13 +0100
- Subject: Patch to add java.generated-manpages
- References: <15379.22208.168360.444545@gargle.gargle.HOWL><Pine.SOL.4.33.0112091243560.15267-100000@red.csi.cam.ac.uk>
This patch adds support for generation and installation of man pages
for the java tools (gcj, gcjh, jv-scan, jcf-convert, gij).
- texi2pod.pl is merged from binutils' version.
- generated man pages are not included.
- gcj.texi: Added command options, that are output with --help.
bootstrapped on i386-linux, installed the result. verified that the
generated gcc man pages are the same as with the old texi2pod.pl.
Joseph S. Myers writes:
> On Sun, 9 Dec 2001, Matthias Klose wrote:
> > - using the GFDL?
>
> Man pages are under the GFDL, like the manuals they are generated from.
> The permission notice should say that the GFDL can be found in the gfdl(7)
> man page (rather than in the GNU Free Documentation License section of the
> manual). For example, the CPP manual has the following (which for other
> manuals, with Invariant Sections and Cover Texts notices in the normal
> places, would need only a slight adjustment):
>
> @c man begin COPYRIGHT
> Copyright @copyright{} 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
> 1997, 1998, 1999, 2000, 2001
> Free Software Foundation, Inc.
>
> Permission is granted to copy, distribute and/or modify this document
> under the terms of the GNU Free Documentation License, Version 1.1 or
> any later version published by the Free Software Foundation. A copy of
> the license is included in the
> @c man end
> section entitled ``GNU Free Documentation License''.
> @ignore
> @c man begin COPYRIGHT
> man page gfdl(7).
> @c man end
> @end ignore
>
>
> Also, include gfdl(7) in the SEE ALSO.
>
> > - handling invariant sections?
>
> They are in the form of man pages - keep the notices referring to them as
> usual, and include the references to them in SEE ALSO (e.g., gpl(7)).
>
> > 2001-12-09 Matthias Klose <doko@debian.org>
> >
> > * texi2pod.pl: Merge changes from binutil's texi2pod.pl. allows
>
> "binutils'. Allows"
>
> > +@macro gcctabopt{body}
> > +@code{\body\}
> > +@end macro
> > +
>
> If my patch to split the GCC user / internals manuals gets approved, I'd
> suggest including gcc-common.texi which is added by that patch, both to
> provide this macro and to provide the GCC version number presently
> included in gcj.texi. Until then, including the macro directly in this
> file is fine.
2001-12-09 Matthias Klose <doko@debian.org>
* texi2pod.pl: Merge changes from binutils' texi2pod.pl. Allows
generation of more than one man page from one source.
Add '-' to set of valid chars for an identifier. -D option
accepts flags of the form <flag>=<value>.
2001-12-09 Matthias Klose <doko@debian.org>
* gcj.texi: Markup for man page generation. Document missing
options printed by <tool> --help.
* Make-lang.in ($(srcdir)/java/*.1): New targets.
(java.generated-manpages java.install-man, java.uninstall,
java-maintainer-clean) Updated.
JAVA_INSTALL_NAME, JAVA_CROSS_NAME: Remove whitespace at end of line.
Index: contrib/texi2pod.pl
===================================================================
RCS file: /cvs/gcc/gcc/contrib/texi2pod.pl,v
retrieving revision 1.14
diff -u -r1.14 texi2pod.pl
--- texi2pod.pl 2001/11/14 00:47:30 1.14
+++ texi2pod.pl 2001/12/09 13:35:22
@@ -41,11 +41,15 @@
} else {
$flag = shift;
}
+ $value=$flag;
+ $value =~ s,^[a-zA-Z0-9_]+,,;
+ $value =~ s,.*=,,;
+ $flag =~ s,=.*$,,;
die "no flag specified for -D\n"
unless $flag ne "";
die "flags may only contain letters, digits, hyphens, and underscores\n"
unless $flag =~ /^[a-zA-Z0-9_-]+$/;
- $defs{$flag} = "";
+ $defs{$flag} = $value;
} elsif (/^-/) {
usage();
} else {
@@ -73,16 +77,30 @@
|node # @node: useful only in .info file
|(?:end\s+)?ifnottex # @ifnottex .. @end ifnottex: use contents
)\b/x and next;
-
+
chomp;
# Look for filename and title markers.
/^\@setfilename\s+([^.]+)/ and $fn = $1, next;
- /^\@settitle\s+([^.]+)/ and $tl = $1, next;
+ /^\@settitle\s+([^.]+)/ and $tl = postprocess($1), next;
+
+ # Identify a man title but keep only the one we are interested in.
+ /^\@c man title ([A-Za-z0-9-]+) (.+)/ and do {
+ if (exists $defs{$1}) {
+ $fn = $1;
+ $tl = postprocess($2);
+ }
+ next;
+ };
# Look for blocks surrounded by @c man begin SECTION ... @c man end.
# This really oughta be @ifman ... @end ifman and the like, but such
# would require rev'ing all other Texinfo translators.
+ /^\@c man begin ([A-Z]+) ([A-Za-z0-9-]+)/ and do {
+ $output = 1 if exists $defs{$2};
+ $sect = $1;
+ next;
+ };
/^\@c man begin ([A-Z]+)/ and $sect = $1, $output = 1, next;
/^\@c man end/ and do {
$sects{$sect} = "" unless exists $sects{$sect};
@@ -274,6 +292,11 @@
local $_ = $_[0];
# @value{foo} is replaced by whatever 'foo' is defined as.
+ if (/\@value\{([a-zA-Z0-9_-]+)\}/) {
+ if (! exists $defs{$1}) {
+ print STDERR "Option $1 not defined\n";
+ }
+ }
s/\@value\{([a-zA-Z0-9_-]+)\}/$defs{$1}/g;
# Formatting commands.
@@ -355,4 +378,3 @@
$sects{FOOTNOTES} .= $_[0];
$sects{FOOTNOTES} .= "\n\n";
}
-
Index: gcc/java/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/Make-lang.in,v
retrieving revision 1.73
diff -u -r1.73 Make-lang.in
--- Make-lang.in 2001/11/29 16:50:19 1.73
+++ Make-lang.in 2001/12/09 13:35:26
@@ -42,10 +42,10 @@
# - define the names for selecting the language in LANGUAGES.
# Actual names to use when installing a native compiler.
-JAVA_INSTALL_NAME = `echo gcj|sed '$(program_transform_name)'`
+JAVA_INSTALL_NAME = `echo gcj|sed '$(program_transform_name)'`
# Actual names to use when installing a cross-compiler.
-JAVA_CROSS_NAME = `echo gcj|sed '$(program_transform_cross_name)'`
+JAVA_CROSS_NAME = `echo gcj|sed '$(program_transform_cross_name)'`
GCJ = gcj
@@ -149,7 +149,9 @@
java.info: $(srcdir)/java/gcj.info
java.dvi: java/gcj.dvi
-java.generated-manpages:
+java.generated-manpages: $(srcdir)/java/gcj.1 $(srcdir)/java/gcjh.1 \
+ $(srcdir)/java/jv-scan.1 $(srcdir)/java/jcf-dump.1 \
+ $(srcdir)/java/gij.1
# Install hooks:
# jc1, gcj, jvgenmain, and gcjh are installed elsewhere as part
@@ -184,6 +186,12 @@
java.uninstall:
-rm -rf $(bindir)/$(JAVA_INSTALL_NAME)$(exeext)
-rm -rf $(bindir)/$(JAVA_CROSS_NAME)$(exeext)
+ -rm -rf $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext)
+ -rm -rf $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext)
+ -rm -rf $(man1dir)/gcjh$(man1ext)
+ -rm -rf $(man1dir)/jv-scan$(man1ext)
+ -rm -rf $(man1dir)/jcf-dump$(man1ext)
+ -rm -rf $(man1dir)/gij$(man1ext)
java.install-info: installdirs
if [ -f jc1$(exeext) ] ; then \
@@ -217,6 +225,9 @@
java.extraclean:
java.maintainer-clean:
-rm -f java/parse.c java/parse-scan.c java/parse.output java/y.tab.c
+ -rm -f $(srcdir)/java/gcj.1 $(srcdir)/java/gcjh.1
+ -rm -f $(srcdir)/java/jv-scan.1 $(srcdir)/java/jcf-dump.1
+ -rm -f $(srcdir)/java/gij.1
#
# Stage hooks:
# The main makefile has already created stage?/java.
@@ -255,7 +266,7 @@
java/java-except.h $(GGC_H)
java/except.o: java/except.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h real.h \
$(RTL_H) java/javaop.h java/java-opcodes.h except.h java/java-except.h \
- toplev.h $(SYSTEM_H) function.h
+ toplev.h $(SYSTEM_H) function.h
java/expr.o: java/expr.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h real.h \
$(RTL_H) $(EXPR_H) java/javaop.h java/java-opcodes.h except.h \
java/java-except.h java/java-except.h java/parse.h toplev.h \
@@ -309,3 +320,64 @@
$(srcdir)/doc/include/gpl.texi
s=`cd $(srcdir); pwd`; export s; \
cd java && $(TEXI2DVI) -I $$s/doc/include $$s/java/gcj.texi
+
+$(srcdir)/java/gcj.1: $(srcdir)/java/gcj.texi
+ -$(TEXI2POD) -D gcj < $(srcdir)/java/gcj.texi > java/gcj.pod
+ ($(POD2MAN) --section=1 java/gcj.pod > java/gcj.1.T$$$$ && \
+ mv -f java/gcj.1.T$$$$ $(srcdir)/java/gcj.1) || \
+ (rm -f java/gcj.1.T$$$$ && exit 1)
+ rm -f java/gcj.pod
+
+$(srcdir)/java/gcjh.1: $(srcdir)/java/gcj.texi
+ -$(TEXI2POD) -D gcjh < $(srcdir)/java/gcj.texi > java/gcjh.pod
+ ($(POD2MAN) --section=1 java/gcjh.pod > java/gcjh.1.T$$$$ && \
+ mv -f java/gcjh.1.T$$$$ $(srcdir)/java/gcjh.1) || \
+ (rm -f java/gcjh.1.T$$$$ && exit 1)
+ rm -f java/gcjh.pod
+
+$(srcdir)/java/jv-scan.1: $(srcdir)/java/gcj.texi
+ -$(TEXI2POD) -D jv-scan < $(srcdir)/java/gcj.texi > java/jv-scan.pod
+ ($(POD2MAN) --section=1 java/jv-scan.pod > java/jv-scan.1.T$$$$ && \
+ mv -f java/jv-scan.1.T$$$$ $(srcdir)/java/jv-scan.1) || \
+ (rm -f java/jv-scan.1.T$$$$ && exit 1)
+ rm -f java/jv-scan.pod
+
+$(srcdir)/java/jcf-dump.1: $(srcdir)/java/gcj.texi
+ -$(TEXI2POD) -D jcf-dump < $(srcdir)/java/gcj.texi > java/jcf-dump.pod
+ ($(POD2MAN) --section=1 java/jcf-dump.pod > java/jcf-dump.1.T$$$$ && \
+ mv -f java/jcf-dump.1.T$$$$ $(srcdir)/java/jcf-dump.1) || \
+ (rm -f java/jcf-dump.1.T$$$$ && exit 1)
+ rm -f java/jcf-dump.pod
+
+$(srcdir)/java/gij.1: $(srcdir)/java/gcj.texi
+ -$(TEXI2POD) -D gij < $(srcdir)/java/gcj.texi > java/gij.pod
+ ($(POD2MAN) --section=1 java/gij.pod > java/gij.1.T$$$$ && \
+ mv -f java/gij.1.T$$$$ $(srcdir)/java/gij.1) || \
+ (rm -f java/gij.1.T$$$$ && exit 1)
+ rm -f java/gij.pod
+
+# Install the man pages.
+java.install-man: installdirs $(GENERATED_JAVA_MANPAGES)
+ -if [ -f $(GCJ)$(exeext) ]; then \
+ if [ -f $(GCJ)-cross$(exeext) ]; then \
+ rm -f $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/java/gcj.1 $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
+ chmod a-x $(man1dir)/$(JAVA_CROSS_NAME)$(man1ext); \
+ else \
+ rm -f $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
+ $(INSTALL_DATA) $(srcdir)/java/gcj.1 $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
+ chmod a-x $(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext); \
+ fi ; \
+ fi
+ -rm -f $(man1dir)/gcjh$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/gcjh.1 $(man1dir)/gcjh$(man1ext)
+ -chmod a-x $(man1dir)/gcjh$(man1ext)
+ -rm -f $(man1dir)/jv-scan$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/jv-scan.1 $(man1dir)/jv-scan$(man1ext)
+ -chmod a-x $(man1dir)/jv-scan$(man1ext)
+ -rm -f $(man1dir)/jcf-dump$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/jcf-dump.1 $(man1dir)/jcf-dump$(man1ext)
+ -chmod a-x $(man1dir)/jcf-dump$(man1ext)
+ -rm -f $(man1dir)/gij$(man1ext)
+ -$(INSTALL_DATA) $(srcdir)/java/gij.1 $(man1dir)/gij$(man1ext)
+ -chmod a-x $(man1dir)/gij$(man1ext)
Index: gcc/java/gcj.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/gcj.texi,v
retrieving revision 1.14
diff -u -r1.14 gcj.texi
--- gcj.texi 2001/09/06 22:22:44 1.14
+++ gcj.texi 2001/12/09 13:35:26
@@ -7,6 +7,10 @@
@c This is necessary due to Sun's restrictions on the use of
@c the word ``Java'.
+@macro gcctabopt{body}
+@code{\body\}
+@end macro
+
@c When this manual is copyrighted.
@set copyrights-gcj 2001
@@ -33,25 +37,22 @@
@end direntry
@end format
-Copyright (C) @value{copyrights-gcj} Free Software Foundation, Inc.
+@c man begin COPYRIGHT
+Copyright @copyright{} 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
+1997, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License'', the Front-Cover
-texts being (a) (see below), and with the Back-Cover Texts being (b)
-(see below). A copy of the license is included in the section entitled
-``GNU Free Documentation License''.
-
-(a) The FSF's Front-Cover Text is:
-
- A GNU Manual
-
-(b) The FSF's Back-Cover Text is:
-
- You have freedom to copy and modify this GNU Manual, like GNU
- software. Copies published by the Free Software Foundation raise
- funds for GNU development.
+any later version published by the Free Software Foundation. A copy of
+the license is included in the
+@c man end
+section entitled ``GNU Free Documentation License''.
+@ignore
+@c man begin COPYRIGHT
+man page gfdl(7).
+@c man end
+@end ignore
@end ifinfo
@titlepage
@@ -120,11 +121,33 @@
@node Invoking gcj
@chapter Invoking gcj
+@c man title gcj Ahead-of-time compiler for the Java language
+
+@ignore
+@c man begin SYNOPSIS gcj
+gcj [@option{-I}@var{dir}@dots{}] [@option{-d}@var{dir}@dots{}]
+ [@option{--classpath}=@var{path}] [@option{--CLASSPATH}=@var{path}]
+ [@option{-f}@var{option}@dots{}] [@option{--encoding}=@var{name}]
+ [@option{--main}=@var{classname}] [@option{-D}@var{name}[=@var{value}]@dots{}]
+ [@option{-C}] [@option{-R} @var{resource-name}] [@option{-d} @var{directory}]
+ [@option{-W}@var{warn}@dots{}]
+ @var{sourcefile}@dots{}
+@c man end
+@c man begin SEEALSO gcj
+gcc(1), gcjh(1), gij(1), jv-scan(1), jcf-dump(1), gfdl(7),
+and the Info entries for @file{gcj} and @file{gcc}.
+@c man end
+@end ignore
+
+@c man begin DESCRIPTION gcj
+
As @code{gcj} is just another front end to @code{gcc}, it supports many
of the same options as gcc. @xref{Option Summary, , Option Summary,
gcc, Using the GNU Compiler Collection}. This manual only documents the
options specific to @code{gcj}.
+@c man end
+
@menu
* Input and output files::
* Input Options:: How gcj finds files
@@ -134,6 +157,8 @@
* Configure-time Options:: Options you won't use
@end menu
+@c man begin OPTIONS gcj
+
@node Input and output files
@section Input and output files
@@ -141,7 +166,7 @@
consists of a number of options and file names. The following kinds
of input file names are supported:
-@table @code
+@table @gcctabopt
@item @var{file}.java
Java source files.
@item @var{file}.class
@@ -192,7 +217,7 @@
actual directory on the filesystem, or to a @file{.zip} or @file{.jar}
file, which @code{gcj} will search as if it is a directory.
-@table @code
+@table @gcctabopt
@item -I@var{dir}
All directories specified by @code{-I} are kept in order and prepended
to the class path constructed from all the other options. Unless
@@ -245,7 +270,7 @@
@code{-fforce-classes-archive-check} can be used to overide this
behavior in this particular case.)
-@table @code
+@table @gcctabopt
@item -fforce-classes-archive-check
This forces the compiler to always check for the special zero length
attribute @code{gnu.gcj.gcj-compiled} in @code{java.lang.Object} and
@@ -287,7 +312,7 @@
document the form of the warning which will have an effect -- the
default being the opposite of what is listed.
-@table @code
+@table @gcctabopt
@item -Wredundant-modifiers
With this flag, @code{gcj} will warn about redundant modifiers. For
instance, it will warn if an interface method is declared @code{public}.
@@ -316,7 +341,7 @@
In addition to the many @code{gcc} options controlling code generation,
@code{gcj} has several options specific to itself.
-@table @code
+@table @gcctabopt
@item --main=@var{CLASSNAME}
This option is used when linking to specify the name of the class whose
@code{main} method should be invoked when the resulting executable is
@@ -382,7 +407,7 @@
options are listed here for completeness; if you are using @code{libgcj}
then you won't want to touch these options.
-@table @code
+@table @gcctabopt
@item -fuse-boehm-gc
This enables the use of the Boehm GC bitmap marking code. In particular
this causes @code{gcj} to put an object marking descriptor into each
@@ -406,6 +431,7 @@
processor.
@end table
+@c man end
@node Compatibility
@chapter Compatibility with the Java Platform
@@ -443,12 +469,37 @@
@node Invoking gcjh
@chapter Invoking gcjh
+@c man title gcjh generate header files from Java class files
+
+@c man begin DESCRIPTION gcjh
+
The @code{gcjh} program is used to generate header files from class
files. It can generate both CNI and JNI header files, as well as stub
implementation files which can be used as a basis for implementing the
required native methods.
-@table @code
+@c man end
+
+@ignore
+@c man begin SYNOPSIS gcjh
+gcjh [@option{-stubs}] [@option{-jni}]
+ [@option{-add}@var{text}] [@option{-append}@var{text}] [@option{-friend}@var{text}] [@option{-preprend}@var{text}]
+ [@option{--classpath}=@var{path}] [@option{--CLASSPATH}=@var{path}]
+ [@option{-I}@var{dir}@dots{}] [@option{-d}@var{dir}@dots{}]
+ [@option{-o}@var{file}] [@option{-td}@var{dir}]
+ [@option{-M}] [@option{-MM}] [@option{-MD}] [@option{-MMD}]
+ [@option{--version}] [@option{--help}] [@option{-v}] [@option{--verbose}]
+ @var{classname}@dots{}
+@c man end
+@c man begin SEEALSO gcjh
+gcc(1), gcj(1), gij(1), jv-scan(1), jcf-dump(1), gfdl(7),
+and the Info entries for @file{gcj} and @file{gcc}.
+@c man end
+@end ignore
+
+@c man begin OPTIONS gcjh
+
+@table @gcctabopt
@item -stubs
This causes @code{gcjh} to generate stub files instead of header files.
By default the stub file will be named after the class, with a suffix of
@@ -488,24 +539,61 @@
@item -td @var{directory}
Sets the name of the directory to use for temporary files.
+@item -M
+Print all dependencies to stdout; suppress ordinary output.
+
+@item -MM
+Print non-system dependencies to stdout; suppress ordinary output.
+
+@item -MD
+Print all dependencies to stdout.
+
+@item -MMD
+Print non-system dependencies to stdout.
+
@item --help
Print help about @code{gcjh} and exit. No further processing is done.
@item --version
Print version information for @code{gcjh} and exit. No further
processing is done.
+
+@item -v, --verbose
+Print extra information while running.
@end table
All remaining options are considered to be names of classes.
+@c man end
@node Invoking jv-scan
@chapter Invoking jv-scan
+@c man title jv-scan print information about Java source file
+
+@c man begin DESCRIPTION jv-scan
+
The @code{jv-scan} program can be used to print information about a Java
source file (@file{.java} file).
+
+@c man end
-@table @code
+@ignore
+@c man begin SYNOPSIS jv-scan
+jv-scan [@option{--complexity}] [@option{--encoding}@var{name}]
+ [@option{--print-main}] [@option{--list-class}] [@option{--list-filename}]
+ [@option{--version}] [@option{--help}]
+ [@option{-o}@var{file}] @var{inputfile}@dots{}
+@c man end
+@c man begin SEEALSO jv-scan
+gcc(1), gcj(1), gcjh(1), gij(1), jcf-dump(1), gfdl(7),
+and the Info entries for @file{gcj} and @file{gcc}.
+@c man end
+@end ignore
+
+@c man begin OPTIONS jv-scan
+
+@table @gcctabopt
@item --complexity
This prints a complexity measure, related to cyclomatic complexity, for
each input file.
@@ -526,17 +614,46 @@
@item -o @var{file}
Print output to the named file.
+
+@item --help
+Print help, then exit.
+
+@item --version
+Print version number, then exit.
@end table
+@c man end
@node Invoking jcf-dump
@chapter Invoking jcf-dump
+@c man title jcf-dump print information about Java class files
+
+@ignore
+@c man begin SYNOPSIS jcf-dump
+jcf-dump [@option{-c}] [@option{--javap}]
+ [@option{--classpath}=@var{path}] [@option{--CLASSPATH}=@var{path}]
+ [@option{-I}@var{dir}@dots{}] [@option{-o}@var{file}]
+ [@option{--version}] [@option{--help}] [@option{-v}] [@option{--verbose}]
+ @var{classname}@dots{}
+@c man end
+@c man begin SEEALSO jcf-dump
+gcc(1), gcj(1), gcjh(1), gij(1), jcf-dump(1), gfdl(7),
+and the Info entries for @file{gcj} and @file{gcc}.
+@c man end
+@end ignore
+
+@c man begin DESCRIPTION jcf-dump
+
This is a class file examiner, similar to @code{javap}. It will print
information about a number of classes, which are specifed by class name
or file name.
+
+@c man end
+
+@c man begin OPTIONS jcf-dump
-@table @code
+@table @gcctabopt
@item -c
Disassemble method bodies. By default method bodies are not printed.
@@ -549,12 +666,42 @@
@itemx -I@var{directory}
@itemx -o @var{file}
These options as the same as the corresponding @code{gcj} options.
+
+@item --help
+Print help, then exit.
+
+@item --version
+Print version number, then exit.
+
+@item -v, --verbose
+Print extra information while running.
@end table
+@c man end
@node Invoking gij
@chapter Invoking gij
+@c man title gij GNU interpreter for Java bytecode
+
+@ignore
+@c man begin SYNOPSIS gij
+gij [@option{OPTION}] @dots{} @var{JARFILE} [@var{ARGS}@dots{}]
+
+gij [@option{-jar}] [@option{OPTION}] @dots{} @var{CLASS} [@var{ARGS}@dots{}]
+
+ [@option{-D}@var{name}[=@var{value}]@dots{}]
+ [@option{-ms=}@var{number}] [@option{-mx=}@var{number}]
+ [@option{--version}] [@option{--help}]
+@c man end
+@c man begin SEEALSO gij
+gcc(1), gcj(1), gcjh(1), jv-scan(1), jcf-dump(1), gfdl(7),
+and the Info entries for @file{gcj} and @file{gcc}.
+@c man end
+@end ignore
+
+@c man begin DESCRIPTION gij
+
@code{gij} is a Java bytecode interpreter included with @code{libgcj}.
@code{gij} is not available on every platform; porting it requires a
small amount of assembly programming which has not been done for all the
@@ -579,8 +726,12 @@
@code{libgcj} includes a class loader which can dynamically load shared
objects, it is possible to give @code{gij} the name of a class which has
been compiled and put into a shared library on the class path.
+
+@c man end
-@table @code
+@c man begin OPTIONS gij
+
+@table @gcctabopt
@item -D@var{name}[=@var{value}]
This defines a system property named @var{name} with value @var{value}.
If @var{value} is not specified then it defaults to the empty string.
@@ -589,7 +740,7 @@
method.
@item -ms=@var{number}
-This sets the initial heap size
+This sets the initial heap size
@item -mx=@var{number}
This sets the maximum heap size.
@@ -597,8 +748,15 @@
@item -jar
This indicates that the name passed to @code{gij} should be interpreted
as the name of a jar file, not a class.
+
+@item --help
+Print help, then exit.
+
+@item --version
+Print version number, then exit.
@end table
+@c man end
@node Resources
@chapter Resources