We can now build the client and server applications for the demo. The client and server implementations are available in the respective examples subdirectories.
In your Common Lisp environment,
(load (example-file "corba/bank/client/defsys"))
(compile-system "bank-client"
:t-dir (get-temp-directory)
:force t
:load t)
(load (example-file "corba/bank/server/defsys"))
(compile-system "bank-server"
:t-dir (get-temp-directory)
:force t
:load t)
The defsystem automatically invokes the IDL compiler on the file
bank.idl
to generate the source code for the skeletons and stubs, which are compiled and stored in the bank fasl file.
When compiling to a fixed directory, following the standard defsystem rules, the IDL will only be recompiled if the fasl file is out of date. (
bank.idl
will always be recompiled by the example form above, because it specifies a temporary output directory, in order to avoid writing to a location which may not be writable.)