Next: , Previous: , Up: Building Programs and Libraries   [Contents][Index]


9.11 Java Support

Automake includes support for compiled Java, using gcj, the Java front end to the GNU Compiler Collection.

Any package including Java code to be compiled must define the output variable ‘GCJ’ in configure.in; the variable ‘GCJFLAGS’ must also be defined somehow (either in configure.in or Makefile.am). The simplest way to do this is to use the AM_PROG_GCJ macro.

By default, programs including Java source files are linked with gcj.

As always, the contents of ‘AM_GCJFLAGS’ are passed to every compilation invoking gcj (in its role as an ahead-of-time compiler – when invoking it to create .class files, ‘AM_JAVACFLAGS’ is used instead). If it is necessary to pass options to gcj from Makefile.am, this variable, and not the user variable ‘GCJFLAGS’, should be used.

gcj can be used to compile .java, .class, .zip, or .jar files.

When linking, gcj requires that the main class be specified using the ‘--main=’ option. The easiest way to do this is to use the _LDFLAGS variable for the program.