GlueGen is a tool which automatically generates the Java and JNI code necessary to call C libraries. It reads as input ANSI C header files and separate configuration files which provide control over many aspects of the glue code generation. GlueGen uses a complete ANSI C parser and an internal representation (IR) capable of representing all C types to represent the APIs for which it generates interfaces. It has the ability to perform significant transformations on the IR before glue code emission. GlueGen is currently powerful enough to bind even low-level APIs such as the Java Native Interface (JNI) and the AWT Native Interface (JAWT) back up to the Java programming language. GlueGen is currently used to generate the JOGL interface to the OpenGL 3D graphics API and the JOAL interface to the OpenAL audio library.

Documentation and Source Code

The source code for GlueGen can be obtained via CVS:

  cvs co -d :pserver:guest@cvs.dev.java.net:/cvs co gluegen
The preliminary GlueGen manual is also on-line.

Community

The GlueGen discussion forum and mailing lists are available for discussions on how to use and develop the tool.