---
name: "guavac"
section: "1"
platform: "linux"
package: "guavac"
version: "1.2-2"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/guavac"
---

# guavac(1)

a free Java compiler guavad - guavac's disassembler

## NAME

guavac - a free Java compiler

guavad - guavac's disassembler

## SYNOPSIS

**guavac** \[ **-version** \] \[ **-classpath** *directory* \] \[ **-d** *output-directory* \] \[ **-M** \] *filenames*

**guavad** *filename*

## DESCRIPTION

**Guavac** is a compiler for the Java (TM) programming language distributed under the GNU GENERAL PUBLIC LICENSE. You should feel free to use, copy and modify it, based on the terms in the COPYING file included in this distribution. We are distributing **guavac** free of charge in the hopes that other people will find it useful and possibly enhance its utility in turn.

All materials needed to compile a HotJava(TM) or Netscape(TM) compliant applet are included in the **guavac** distribution.  No proprietary code from Sun is needed, so other tool writers should feel free to include **guavac** in their systems.

**Guavac** is written in C++ to compile on any Unix system.  This has been tested under Solaris 2.x, SunOS 4.x, Iris 5.3, HP/UX 9, and Linux 1.x using GNU's gcc-2.7.2, libg++-2.7.1 and binutils-2.6, but other operating systems should work without any major changes.

**Guavac** is not meant to be the definite GNU Java compiler. There's a different project in the works at Cygnus, that aims at building a GNU CC front-end for Java.

## OPTIONS

**Guavac** recognizes the following options.

- **-classpath** *directory*

  Set the *directory.* It maybe contains either the stub classes as distributed with **guavac in the** *classes.zip* file. Or, even better, the directory where the classes of Sun's Java Development Kit, or JDK for short, reside.

- **-d** *directory*

  Set the output directory which otherwise defaults to the current working directory.

- **-M**

  Prints out dependencies for compiled files instead of compiling.

- **-version**

  Prints out the current version of guavac.

Refer to the BUGS section below on philosophical implications of any collection of OPTIONS.

## ENVIRONMENT

**Guavac** recognizes the CLASSPATH environment variable, containing a colon separated list of directories where to look for compiled Java classes; much like the standard PATH variable used to find executables. The setting of CLASSPATH may be overriden with the **-classpath** option.

## BUGS

At present, after 11 official releases, **guavac** 0.2.5 is relatively stable. However, incompatibilities arise between guavac and Sun's offerings, most of which are fixed shortly after discovery.

## SEE ALSO

**javac**(1), **jdb**(1), [**kaffe**(1)](/kaffe/1.md)

## AVAILABILITY

- The **guavac** project's homepage is accessible via the World-Wide Web at:

  *http://http.cs.berkeley.edu/~engberg/guavac/*

- Copyright

  ## AUTHOR

(c) 1995, 1996 by David Engberg (geppetto@eecs.com). Manual page written and last upated in August 1996 by Joerg Heitkoetter (joke@Germany.EU.net).
