![]() | ![]() | ![]() | Mini-Module Facility | ![]() |
The Mini Module facility provides a lightweight and easy to use mechanism for compiling and loading module files. The facility keeps track of the dependencies between modules and the modules that have been compiled and loaded. The Mini Module facility was designed for simplicity and portability, yet it is powerful enough to manage substantial software projects, each operating on multiple hardware platforms and Common Lisp implementations.
The Mini Module facility is sufficient for many situations, and if not, there are more complex open-source defsystem packages, such as ASDF (http://constantly.at/lisp/asdf/), that are available.
The :mini-module module is automatically loaded by the GBBopen
<install-directory>/startup.lisp file (via the
mini-module-loader.lisp file located in the mini-module
subdirectory). If a gbbopen-init.lisp file (source or compiled) is
present in the user's “home” directory, it is loaded immediately following
the loading of the Mini Module facility by the
<install-directory>/startup.lisp file. A personal
<homedir>/gbbopen-init.lisp file is very useful for defining
GBBopen parameters and other personalizations
(see the GBBopen start-up description).
To bootstrap the Mini Module facility stand-alone (separate from the GBBopen Project software tree), do the following:
$ mkdir my-tree)
$ cd my-tree ; mkdir -p source/mini-module)
mini-module-loader.lisp,
mini-module.lisp,
and
mini-module-user.lisp
files into thesource/mini-module directory
mini-module-loader.lisp file> (load "my-tree/source/mini-module/mini-module-loader")
:mini-module and :mini-module-user modules:> (mini-module:compile-module :mini-module-user :create-dirs :propagate)
source/mini-module-loader.lisp as part of your Common Lisp
initialization.
Entities
The GBBopen Project
![]() | ![]() | ![]() | Mini-Module Facility | ![]() |