The ORBLink IDL to Lisp Compiler

An IDL file may be compiled by using the corba:idl function with a single argument, the pathname of the file to be compiled. By default the preprocessor symbol "LISP" is defined.

Basic usage of corba:idl

The effect of the function

(corba:idl pathname)

is to load into the Lisp image those Lisp values defined by the official mapping that correspond to the IDL file denoted by pathname.

This includes:

Include files

When the parser sees

#include "..."

where ... is a relative name, it searches for ... in the directory containing the source file.

When the parser sees

#include <...>

where ... is a relative name, it searches for ... in the directories whose names it finds in the special variable orblink:*default-system-include-path-list*.

The default value of that variable is nil, which will result in failure to find the include file.

The user should setq or bind orblink:*default-system-include-path-list* to a list of pathnames to be searched to find <...> include files.

Generating fasl files from IDL files: Advanced usage of corba:idl

The corba:idl function can also be used to generate a .fasl file from an IDL file. This .fasl can later be loaded into a Lisp image into which ORBLink has been loaded. When the .fasl file is loaded, the effect on the Lisp world is the same as if the original IDL file had been passed as sole argument to the corba:idl function. The name of the generated fasl file is determined by keyword arguments passed to corba:idl. The allowed keyword arguments to corba:idl are:

For example, given a file /a/b/x.idl, the form (corba:idl "/a/b/x.idl" :compile t) will generate a fasl file named /a/b/x-tmp.fasl. When loaded into another Lisp world, the effect will be the same as if (corba:idl "/a/b/x.idl" ) were evaluated.