We need the IDL parser to parse the IDL to generate appropriate stubs and skeletons. We do this by including the IDL file in the defsystem that defines the code we are writing. For Hello World, the relevant defsystem is:
(defsystem hello-world-corba-object ()
:members (
("hello-world" :type :idl-file)))
The defsystem utility has been extended to correctly handle a file of type
idl-file
. In this case, the fasl corresponding to the IDL file contains the compiled stubs and skeletons for the given IDL and is generated when we compile the system.
To create a defsystem file for the Hello World application:
defsys.lisp
.
defsys.lisp
file:
(in-package "CL-USER")
(require "corba-orb")
(defsystem hello-world-corba-object ()
:members (
("hello-world" :type :idl-file)
))
:rules ((:in-order-to :compile "all
(:requires (:load :previous)))))
When it comes time to run the application, stubs and skeletons will be generated.