.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  | will give a
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "GIJ 1"
.TH GIJ 1 "2007-07-19" "gcc-4.2.1" "GNU"
.SH "NAME"
gij \- GNU interpreter for Java bytecode
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
gij [\fB\s-1OPTION\s0\fR] ... \fI\s-1JARFILE\s0\fR [\fI\s-1ARGS\s0\fR...]
.PP
gij [\fB\-jar\fR] [\fB\s-1OPTION\s0\fR] ... \fI\s-1CLASS\s0\fR [\fI\s-1ARGS\s0\fR...]
  [\fB\-cp\fR \fIpath\fR] [\fB\-classpath\fR \fIpath\fR]
  [\fB\-D\fR\fIname\fR[=\fIvalue\fR]...]
  [\fB\-ms=\fR\fInumber\fR] [\fB\-mx=\fR\fInumber\fR]
  [\fB\-X\fR\fIargument\fR] [\fB\-verbose\fR] [\fB\-verbose:class\fR]
  [\fB\-\-showversion\fR] [\fB\-\-version\fR] [\fB\-\-help\fR][\fB\-?\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\f(CW\*(C`gij\*(C'\fR is a Java bytecode interpreter included with \f(CW\*(C`libgcj\*(C'\fR.
\&\f(CW\*(C`gij\*(C'\fR is not available on every platform; porting it requires a
small amount of assembly programming which has not been done for all the
targets supported by \fBgcj\fR.
.PP
The primary argument to \f(CW\*(C`gij\*(C'\fR is the name of a class or, with
\&\f(CW\*(C`\-jar\*(C'\fR, a jar file.  Options before this argument are interpreted
by \f(CW\*(C`gij\*(C'\fR; remaining options are passed to the interpreted program.
.PP
If a class name is specified and this class does not have a \f(CW\*(C`main\*(C'\fR
method with the appropriate signature (a \f(CW\*(C`static void\*(C'\fR method with
a \f(CW\*(C`String[]\*(C'\fR as its sole argument), then \f(CW\*(C`gij\*(C'\fR will print an
error and exit.
.PP
If a jar file is specified then \f(CW\*(C`gij\*(C'\fR will use information in it to
determine which class' \f(CW\*(C`main\*(C'\fR method will be invoked.
.PP
\&\f(CW\*(C`gij\*(C'\fR will invoke the \f(CW\*(C`main\*(C'\fR method with all the remaining
command-line options.
.PP
Note that \f(CW\*(C`gij\*(C'\fR is not limited to interpreting code.  Because
\&\f(CW\*(C`libgcj\*(C'\fR includes a class loader which can dynamically load shared
objects, it is possible to give \f(CW\*(C`gij\*(C'\fR the name of a class which has
been compiled and put into a shared library on the class path.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-cp\fR \fIpath\fR" 4
.IX Item "-cp path"
.PD 0
.IP "\fB\-classpath\fR \fIpath\fR" 4
.IX Item "-classpath path"
.PD
Set the initial class path.  The class path is used for finding
class and resource files.  If specified, this option overrides the
\&\f(CW\*(C`CLASSPATH\*(C'\fR environment variable.  Note that this option is
ignored if \f(CW\*(C`\-jar\*(C'\fR is used.
.IP "\fB\-D\fR\fIname\fR\fB[=\fR\fIvalue\fR\fB]\fR" 4
.IX Item "-Dname[=value]"
This defines a system property named \fIname\fR with value \fIvalue\fR.
If \fIvalue\fR is not specified then it defaults to the empty string.
These system properties are initialized at the program's startup and can
be retrieved at runtime using the \f(CW\*(C`java.lang.System.getProperty\*(C'\fR
method.
.IP "\fB\-ms=\fR\fInumber\fR" 4
.IX Item "-ms=number"
Equivalent to \f(CW\*(C`\-Xms\*(C'\fR.
.IP "\fB\-mx=\fR\fInumber\fR" 4
.IX Item "-mx=number"
Equivalent to \f(CW\*(C`\-Xmx\*(C'\fR.
.IP "\fB\-noverify\fR" 4
.IX Item "-noverify"
Do not verify compliance of bytecode with the \s-1VM\s0 specification. In addition,
this option disables type verification which is otherwise performed on BC-ABI
compiled code.
.IP "\fB\-X\fR" 4
.IX Item "-X"
.PD 0
.IP "\fB\-X\fR\fIargument\fR" 4
.IX Item "-Xargument"
.PD
Supplying \f(CW\*(C`\-X\*(C'\fR by itself will cause \f(CW\*(C`gij\*(C'\fR to list all the
supported \f(CW\*(C`\-X\*(C'\fR options.  Currently these options are supported:
.RS 4
.IP "\fB\-Xms\fR\fIsize\fR" 4
.IX Item "-Xmssize"
Set the initial heap size.
.IP "\fB\-Xmx\fR\fIsize\fR" 4
.IX Item "-Xmxsize"
Set the maximum heap size.
.IP "\fB\-Xss\fR\fIsize\fR" 4
.IX Item "-Xsssize"
Set the thread stack size.
.RE
.RS 4
.Sp
Unrecognized \f(CW\*(C`\-X\*(C'\fR options are ignored, for compatibility with
other runtimes.
.RE
.IP "\fB\-jar\fR" 4
.IX Item "-jar"
This indicates that the name passed to \f(CW\*(C`gij\*(C'\fR should be interpreted
as the name of a jar file, not a class.
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
.PD 0
.IP "\fB\-?\fR" 4
.IX Item "-?"
.PD
Print help, then exit.
.IP "\fB\-\-showversion\fR" 4
.IX Item "--showversion"
Print version number and continue.
.IP "\fB\-\-fullversion\fR" 4
.IX Item "--fullversion"
Print detailed version information, then exit.
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
Print version number, then exit.
.IP "\fB\-verbose\fR" 4
.IX Item "-verbose"
.PD 0
.IP "\fB\-verbose:class\fR" 4
.IX Item "-verbose:class"
.PD
Each time a class is initialized, print a short message on standard error.
.PP
\&\f(CW\*(C`gij\*(C'\fR also recognizes and ignores the following options, for
compatibility with existing application launch scripts:
\&\f(CW\*(C`\-client\*(C'\fR, \f(CW\*(C`\-server\*(C'\fR, \f(CW\*(C`\-hotspot\*(C'\fR, \f(CW\*(C`\-jrockit\*(C'\fR,
\&\f(CW\*(C`\-agentlib\*(C'\fR, \f(CW\*(C`\-agentpath\*(C'\fR, \f(CW\*(C`\-debug\*(C'\fR, \f(CW\*(C`\-d32\*(C'\fR,
\&\f(CW\*(C`\-d64\*(C'\fR, \f(CW\*(C`\-javaagent\*(C'\fR, \f(CW\*(C`\-noclassgc\*(C'\fR, \f(CW\*(C`\-verify\*(C'\fR,
and \f(CW\*(C`\-verifyremote\*(C'\fR.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIgcc\fR\|(1), \fIgcj\fR\|(1), \fIgcjh\fR\|(1), \fIjv\-scan\fR\|(1), \fIjcf\-dump\fR\|(1), \fIgfdl\fR\|(7),
and the Info entries for \fIgcj\fR and \fIgcc\fR.
\&\fIgcc\fR\|(1), \fIgcj\fR\|(1), \fIgcjh\fR\|(1), \fIjv\-scan\fR\|(1), \fIjcf\-dump\fR\|(1), \fIgfdl\fR\|(7),
and the Info entries for \fIgcj\fR and \fIgcc\fR.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
.PP
Permission is granted to copy, distribute and/or modify this document
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with the
Invariant Sections being \*(L"\s-1GNU\s0 General Public License\*(R", 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
man page \fIgfdl\fR\|(7).
.PP
(a) The \s-1FSF\s0's Front-Cover Text is:
.PP
.Vb 1
\&     A GNU Manual
.Ve
.PP
(b) The \s-1FSF\s0's Back-Cover Text is:
.PP
.Vb 3
\&     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.
.Ve
