RMI stub and tie source code generator for java.rmi.*, javax.rmi.*

Copyright 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Please report bugs at http://www.gnu.org/software/classpath/bugs.html

Usage: rmic <options> <class names>

 where <options> includes:
  -nowarn            Show no warnings
  -nowrite           Do not write any files (check for errors only)
  -d <folder>        Place generated files into the given folder
  -classpath <path>  Specifies the path, where to find the classes being 
                     compiled
  
  -help              Print this help text
  -v                 Print version
  -verbose           Verbose output
  -force             Try to generate code even if the input classes seem not
                     consistent with RMI specification.
  
  -1.2               Generate v 1.2 stubs (default)*
  
  -iiop              Generate stubs and ties for the GIOP based RMI package 
                     extension, javax.rmi. With this key, the two additional 
                     keys are accepted:
    -poa               Generate the Servant based ties (default)
    -impl              Generate the obsoleted ObjectImpl based ties
                        (for backward compatibility)
    -help            Show more details on the giop stub and tie generator 
                      options.                
  -giop              Same as -iiop*                    
                
  
 and <class names> can include one or more non abstract classes that implement
 Remote and are accessible via current class path.

* This tool generates the source code that must be compiled with java compiler.
* The deprecated 1.1 version stubs are currently not supported (the v 1.2
  style stubs are always generated).
* -iiop is a standard key for this tool, but it is also a registered OMG mark
  when giop is not.

