
The new function allows declaration of a module dependency, as opposed to a mere file dependency. Misuse of this function opens the door to cyclic compilation dependencies, so we have to check for that in `compiler/cm'.
18 lines
552 B
Racket
18 lines
552 B
Racket
#lang racket/base
|
|
|
|
(provide register-external-file
|
|
register-external-module)
|
|
|
|
(define (register-external-file f)
|
|
(register-external 'register-external-file f #f))
|
|
(define (register-external-module f)
|
|
(register-external 'register-external-module f #t))
|
|
|
|
(define (register-external who f module?)
|
|
(unless (and (path? f) (complete-path? f))
|
|
(raise-type-error who "complete path" f))
|
|
(log-message (current-logger)
|
|
'info
|
|
(format "file dependency: ~s" f)
|
|
`#s(file-dependency ,f ,module?)))
|