1.6 Compilation Manager Hook for Syntax Transformers
(require compiler/cm-accomplice) | package: base |
procedure
(register-external-file file [ #:indirect? indirect?]) → void? file : (and path? complete-path?) indirect? : any/c = #f
A compilation manager implemented by compiler/cm looks for such messages to register an external dependency. In response, the compilation manager records (in a ".dep" file) the path as contributing to the implementation of the module currently being compiled. Afterward, if the registered file is modified, the compilation manager will know to recompile the module. An indirect dependency has no effect on recompilation, but it can signal to other tools, such as a package-dependency checker, that the dependency is indirect (and should not imply a direct package dependency).
The include macro, for example, calls this procedure with the path of an included file as it expands an include form.
procedure
(register-external-module file [ #:indirect? indirect?]) → void? file : (and path? complete-path?) indirect? : any/c = #f
A compilation manager implemented by compiler/cm recognizes the message to register a dependency on a module (which implies a dependency on all of that module’s dependencies, etc.).