Project Manager Include Tab

This tab specifies which set of optional CG modules (and which of a
few base Lisp modules) are included in the standalone application that
is generated from this project. At the left is an item-list that
contains the names of all of the CG modules; these will all be
selected initially in a new project. They can be individually turned
on or off, but typically all you need to do is click the button to the
right labeled Find Required CG Modules. This button will read
the project's source code and determine which modules are used based
on the home package of each exported CG symbol in the code.

In order for Common Graphics modules to be found correctly, the latest
version of all project files must be saved. When you use the Find
Required CG Modules button, if there are any modified project
files then you will first be prompted to save them. The procedure
will not continue if you leave files unsaved. If all files have been
saved, all project source code will be searched. Then all CG modules
that are found to be used, plus all of the modules that those modules
depend on, will automatically be selected in the list of CG modules,
and all other modules will be deselected. The
.lpr project definition file is saved
automatically at the end of the procedure with its new list of
required modules.

If a project's source code modules load additional lisp files that are
not themselves modules of the project, then the internally-loaded-files property may be used to
cause the additional files to be searched.

The Find Required CG Modules button calls the function find-required-modules,
which can alternately be called directly to search a set of source
code files other than those of the current project.

In case it is not clear why some modules were required, a file called
module-report.txt is written to the project's
default directory, listing every symbol that was found for each
module. But note that this file mentions only the modules that were
explicitly used, and not the modules that were included because the
explicitly-used modules required them.

There may still be cases where a project needs a particular module
even though it did not use any symbols that are specific to it. In
these cases, the build will fail, and will probably mention a package
that was not found. You can then explicitly select the module whose
name is the same as the package name, and try the build again. Note
that selecting a module in the list will automatically select any
other modules on which that module is dependent.

There also may be cases where the project manager believes that you
may need a certain module that you do not actually use. You can try
turning off this specific module, but "require" statements in other
modules that you do need may load the module anyway.

The first three check-boxes in the lower right area of this tab
indicate whether certain standard base lisp modules are included in
the standalone app. The fourth check box determines whether local name
information is saved (which allows for easier debugging). See include-flags. Here are the
complete descriptions of the check boxes:

Include the Top-Level: if checked, the modules associated with
the Lisp top level are loaded. Checking this is equivalent to
specifying :include-tpl t to generate-application.

Include the Debugger: if checked, the modules associated with
the Lisp debugger are loaded. Checking this is equivalent to
specifying :include-debugger t to generate-application.

Include the Compiler: if checked, the modules associated with
the Lisp compiler are loaded. Checking this is equivalent to
specifying :include-compiler t to generate-application. You must have the proper
Allegro CL license to include the compiler in an application (see
runtime.htm).

Save Local Name Info: if this option is not selected,
then true is passed as the value of the
discard-local-name-info keyword argument to
generate-application.
Otherwise nil is passed.