NAME¶
ikvmc - compile java classes and jars into CIL assemblies
SYNOPOSIS¶
ikvmc [
-options ]
class |
jar ...
DESCRIPTION¶
IKVM is an implentation of the Java for the Common Language Infrastructure (CLI)
runtime. It includes a byte code JIT compiler/verifier to translate Java byte
code to CIL and GNU Classpath to provide the Java class libraries.
ikvmc allows statically compiling of Java bytecodes in Java classes and
jars into CIL assemblies. The
ikvm(1) program provides dynamic compilation to
CIL and execution.
The Java
class or
jar parameters may be file globs such as
*.class and used to process multiple sources in one step. Duplicates
specified in processing will be ignored, with a warning given.
OPTIONS¶
- -Dname=value
- Set system property name to value at
runtime.
- -apartment:mta
- Apply MTAThreadAttribute to the main class.
- -apartment:none
- Don't apply STAThreadAttribute to the main class.
- -apartment:sta
- (default) Apply STAThreadAttribute to the main class.
- -assembly:assembly-name
- Specify the generated assembly name to assembly-name
If this option is omitted, the assembly name is usually the output
filename.
- -da[:packagename ... |
:classname]
- Set the system property to disable assertions.
- -debug
- Generate debugging info in the output file. Only useful if
the source class files contained debug information, such as compiled with
the javac -g option.
- -disableassertions[:packagename ... |
:classname]
- Set the system property to disable assertions.
- -ea[:packagename ... |
:classname]
- Set the system property to enable assertions.
- -enableassertions[:packagename ... |
:classname]
- Set the system property to enable assertions.
- -exclude:filename
- Use the list of classes in filename to exclude from
compiling.
- -key:keycontainer
- Use the key in the container keycontainer to sign
the assembly.
- -keyfile:keyfilename
- Use the key in file keyfilename to sign the
assembly.
- -main:mainclass
- Specify the main method class mainclass contains the
main method. If omitted and the target is an executable, a search is done
for a qualifying main method and ikvmc reports if it is found.
- -noglobbing
- Do not glob the class or jar arguments.
- -nojni
- Do not generate a JNI stub for native methods.
- -nostacktraceinfo
- Do not create metadata to emit rich stack traces.
- -opt:fields
- Remove unused private fields.
- -out:outputfile
- Set the output filename to outputfile. The extension
used here must match the -target used. For a library, it must end
in .dll and for an exe or winexe, it must end in .exe. If this option is
omitted, an output name will be chosen based on the target type and the
name of the input files. If the input files were given with globs, this
option must be used.
- -recurse:filespec
- Process all files and directories matching filespec
which can use globbing.
- -r:library-filespec
- -reference:library-filespec
- Reference an assembly library-filespec used from
Java. This option can be used multiple times and globbing is allowed.
- -resource:name=path
- Include a Java resource named name in file
path.
- -srcpath:path
- Set the location of source code for debugging to
path. The name of a package is appended to the path to find the
file.
- -target:exe
- -target:library
- -target:winexe
- -target:module
- Set the generated target type to either a console
executable (exe) generating a result.exe, library (library) generating a
result.dll, windows executable for GUI applications (winexe) generating a
result.exe or module for use by the linker (module) generating a
result.netmodule. winexe is only used on Windows.
- -Xmethodtrace:method-name
- Build tracing into the specified output method
method-name.
- -Xtrace:name
- Displays all tracepoints with the given name
name.
- -version:M.m.b.r
- Set the assembly version to M.m.b.r.
SEE ALSO¶
ikvm(1),
ikvmstub(1).
IKVM Project web site
http://ikvm.net/
Man page by Dave Beckett, made available under the same terms as IKVM.