cross-end: cross-host
(echo '(let ((env (->environment (quote (RUNTIME)))))' && \
echo ' (load "../compiler/base/crsend" env)' && \
- echo ' ((access FINISH-CROSS-COMPILATION:DIRECTORY env) ".."))') \
+ echo ' ((access FINISH-CROSS-COMPILATION:FILES env) ".."))') \
| (cd runtime && ../microcode/scheme --batch-mode --library ../lib \
- --fasl make.bin)
+ --fasl make.bin)
+ (echo '(let ((env (->environment (quote (RUNTIME)))))' && \
+ echo ' (load "../compiler/base/crsend" env)' && \
+ echo ' ((access FINISH-CROSS-COMPILATION:INFO-FILES env) ".."))') \
+ | (cd runtime && ../microcode/scheme --batch-mode --library ../lib \
+ --fasl make.com)
### Stuff that depends on running the code we just compiled, because it
### uses Edwin macros. This is a kludge until we can fix macro phasing
;;; compiler.
(declare (usual-integrations))
+
+(load-option 'COMPRESS) ; XXX ugh
\f
(define (finish-cross-compilation:directory directory #!optional force?)
(let ((force? (if (default-object? force?) #f force?)))
(finish-cross-compilation:file pathname force?))))
(directory-read (pathname-as-directory directory))))))
+(define (finish-cross-compilation:files directory #!optional force?)
+ (let ((force? (if (default-object? force?) #f force?)))
+ (let loop ((directory directory))
+ (for-each (lambda (pathname)
+ (cond ((file-directory? pathname)
+ (if (not (let ((ns (file-namestring pathname)))
+ (or (string=? ns ".")
+ (string=? ns ".."))))
+ (loop pathname)))
+ ((let ((t (pathname-type pathname)))
+ (and (string? t)
+ (string=? t "moc")))
+ (finish-cross-compilation:file pathname force?))))
+ (directory-read (pathname-as-directory directory))))))
+
(define (finish-cross-compilation:info-files directory #!optional force?)
(let ((force? (if (default-object? force?) #f force?)))
(let loop ((directory directory))
(sc-macro-transformer
(lambda (form environment)
environment
- (apply microcode-type (cdr form)))))
-
-;;(load-option 'COMPRESS) ; XXX ugh
-;; The interpreted compress is terribly slow.
-(finish-cross-compilation:file "cpress.moc")
-(load "cpress.com" (->environment '(runtime compress)))
\ No newline at end of file
+ (apply microcode-type (cdr form)))))
\ No newline at end of file