- C++ header files (
.h), with a commented template for full C++ implementation of the interface
- XPConnect typelib files (
.xpt), with runtime type information to dynamically call XPCOM objects through XPConnect
xpidl is based on the libIDL idl compiler from the Gnome project. The libIDL compiler depends on glib, also from the Gnome project. The xpidl compiler is now part of the build process, allowing us to generate headers used by the XPCOM components. Please check the Build Documentation for further information on where to get libIDL and glib.
To add an IDL file to the build, use the XPIDLSRCS makefile variable. For testing purposes, or one-off interface compilation, xpidl can be run from the command line:
Usage: ./xpidl -m mode [-w] [-v] [-t version number] [-d filename.pp] [-I path] [-o basename | -e filename.ext] filename.idl -a emit annotations to typelib -w turn on warnings (recommended) -v verbose mode (NYI) -t create a typelib of a specific version number -I add entry to start of include path for ``#include "nsIThing.idl" -o use basename (e.g. ``/tmp/nsIThing) for output -e use explicit output filename -d write dependencies (requires -e) -m specify output mode: header Generate C++ header (.h) typelib Generate XPConnect typelib (.xpt) doc Generate HTML documentation (.html) java Generate Java interface (.java)