A defsystem member type that can be used to include a type library file in a Lisp system definition.
When a file is given the type
:midl-type-library-file
, compiling the system will compile the type library file to produce a fasl. Loading the system will load this fasl. The
:package
and
:mapping-options
keywords can specified as for midl.
The keyword
:component-name
name-spec
can be supplied to specifiy that the source is the library specified by
name-spec
.
Means that the component name is the same as the module name.
The name of the component.
( component-name keywords-and-values ) where the keywords and values are passed to find-component-tlb when looking for the actual library.
In all cases the module name, less anything after the last dot, is used as the default filename for the compiled file.
The keyword
:com
can be supplied to reduce the amount of code generated. For the details, see Reducing the size of the converted library.
To include the file
myfile.tlb
in a system, use
(defsystem my-system ()
:members (("myfile.tlb"
:type :midl-type-library-file)))
To compile the library associated with "OWC10.Spreadsheet", producing an object file in
OWC10.ofasl
put a clause like this in the defsystem form:
("OWC10.SPREADSHEET" :type :midl-type-library-file
:com :not-binary
:component-name t)
To compile the same library, but to a different object file, use:
("my-owc" :type :midl-type-library-file
:com :not-binary
:component-name "OWC10.SPREADSHEET")
To compile the same library, but using only version newer than 1.1, use a claus like this:
("my-owc" :type :midl-type-library-file
:com :not-binary
:component-name ("OWC10.SPREADSHEET"
:min-version "1.1"))