GlueGen

GlueGen is a Java tool which automatically generates the Java and Java Native Interface (JNI) code needed to call C libraries from Java code. It reads in ANSI C header files and GlueGen configuration files, and emits C code. As JNI can be complex, Gluegen simplifies the process of binding Java to C native libraries.

It was originally developed for Java OpenGL (JOGL), a Java OpenGL library, although the project has since been separated so it can be used with other libraries. As of 2010, it is also used in Java OpenAL (JOAL), which allows Java code to access OpenAL libraries.

Use of GlueGen in JOGL
For JOGL, GlueGen is used to bind OpenGL to Java, and to the low-level windowing system application programming interface (APIs) on the Microsoft Windows, X Window System and Mac OS X platforms.