is used to define systems for use with the LispWorks system tools. A system is a collection of files and other systems that, together with rules expressing the interdependencies of those files and subsystems, make a complete program. The LispWorks system tools support the development and maintenance of large programs.
The name of the system to be made.
The default package that files are compiled and loaded in. If not specified, this defaults to the value of
at macroexpansion time.
Used to compute a default pathname in which to find files.
uses current-pathname to compute the pathname.
checks that all the files given as members actually exist
The root pathname of a system is defined to be the
if it is given. Otherwise, it is taken to be the directory containing the defsystem file.
This is the default type of the members of the system. This may be
This is a string.
A declaration specifying default compilation qualities within the scope of
. These settings override the current global setting. They can be overridden per member by the
option (for subsystems) or proclaim (in files). The
option accepts the same optimize qualities as
and which are fully described in the
LispWorks User Guide
. See below for examples.
is a list defining the members of the system. Each element of the list may be a symbol or a string representing the name of the physical file or system referred to, or a list of format
is once again a symbol or a string referring to the system or physical file, and the possible keywords are:
The type of this member. Allowed values are as for
. If not specified it defaults to the value of
given as an
then this member is not loaded unless its loading is specifically requested as a result of a dependency on another module
Only the source file for this member is ever loaded
The member is never compiled by
, objects are loaded in preference to source files
The member is only considered during planning if the feature expression is true.
A default package for the member.
("mso97.tlb" :type :midl-type-library-file :com nil)
refers to all the members of the system. It provides a shorthand for specifying that a rule should apply to all the system's members. The keyword
refers to all the members of the system that are before the member in the list of members. This makes it easy, for example, to specify that in order to compile a file in a system, all the members that come before it must be loaded.