(make-compilation-manager-load/use-compiled-handler
)
PROCEDURE
Returns a procedure suitable as a value for the
current-load/use-compiled
parameter (see
section 7.4.1.6 in PLT MzScheme: Language Manual). The returned procedure automatically
compiles source files to a .zo file if
the file is expected to contain a module (i.e., the second argument to the handler is a symbol);
the value of current-eval
, current-load
, and
current-namespace
is the same as when
make-compilation-manager-load/use-compiled-handler
was
called; and
either the source file is newer than the .zo file in
the compiled subdirectory, or no .dep file exists next
to the .zo file, or the version in the .dep does not
match the result of (
, or one of the files listed in
the .dep file has a timestamp newer than the one recorded in
the .dep file.version
)
After the handler procedure compiles the .zo file, it creates a
corresponding .dep file that lists the current version, plus
the timestamp for every file that is require
d by the module
in the compiled file (including require-for-syntax
es).
The handler caches timestamps when it checks .dep files, and the cache is maintained across calls to the same handler. The cache is not consulted to compare the immediate source file to its .zo file, which means that the caching behavior is consistent with the caching of the default module name resolver (see section 5.4 in PLT MzScheme: Language Manual).
(managed-compile-zo
file
)
PROCEDURE
Compiles the given module source file to a .zo, installing a
compilation-manager handler while the file is compiled, and creating a
.dep file to record the timestamps of immediate files used to
compile the source (i.e., files require
d in the source,
including require-for-syntax
es).
(manager-trace-handler
proc
[procedure
])
A parameter whose value is a procedure to return a trace string for compilation-manager actions. The procedure receives a single string argument, and its result is ignored.
(trust-existing-zos
on?
[procedure
])
A parameter that is intended for use by Setup PLT when installing with pre-built .zo files. It causes a compilation-manager load/use-compiled handler to ``touch'' out-of-date .zo files instead of re-compiling from source.