org.dellroad.jc
Class BootstrapObjectGenerator

java.lang.Object
  extended byorg.dellroad.jc.BootstrapObjectGenerator

public class BootstrapObjectGenerator
extends Object

Used to pre-generate ELF object files for classes that JC itself uses to generate ELF object files. This class is meant to be executed as a separate process, typically using a JVM other than JC.


Method Summary
static void main(String[] args)
          Generate JC ELF object files for one or more classes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

main

public static void main(String[] args)
Generate JC ELF object files for one or more classes. This class is intended for use in two cases:

Usage:

java org.dellroad.jc.BootstrapObjectGenerator [-classpath dir1:dir2:...] [-srcpath dir1:dir2:...] [-objdir objdir] [-incdir dir] [-f] [-g] [-N] pattern ...

ELF objects are (re)generated for all classes found in the classpath specified by -classpath (or the java.class.path system property if no -classpath flag is given) that match any of the given patterns. A pattern is either a class name, or a package name followed by a period and then one or two asterisks. One asterisk matches all classes in the package, two matches all classes in the package and all subpackages. For example, java.util.List, java.util.*, and java.util.**. Slashes may be used instead of periods and percent signs may be used instead of asterisks.

Objects stored in the directory hierarchy whose root is specified by -objdir flag (default current working directory). As a convenience feature, if -objdir specifies a search path, the first directory in the path is used. Intermediate C source and header files are searched for in the search path specified by -srcpath and those newly created (as necessary) are stored under the first component directory of -srcpath. If no -srcpath is given, "." is assumed. -incdir tells where the JC include files live.

If the -f flag is given, then all ELF object files are regenerated even if a seemingly valid ELF file already exists.

If the -g flag is given, then support for Java source code line numbers in stack traces is included.

If the -N flag is given, only the source files are generated; C compilation is not done and no ELF objects are created.

The jc.verbose.gen system property, if equal to true, enables progress reports to standard output. Set via the -Djc.verbose.gen=true VM command line flag.

This class uses the JCObjectGenerator class to generate ELF objects.

See Also:
JCObjectGenerator