~ chicken-core (chicken-5) 647d33ddf5e949080cee9b5e2c910dfed277c92c
commit 647d33ddf5e949080cee9b5e2c910dfed277c92c
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Fri Feb 5 19:31:32 2016 +1300
Commit: Evan Hanson <evhan@foldling.org>
CommitDate: Tue Mar 8 22:52:35 2016 +1300
Handle "-uses" flags before "-R" so units are called first
diff --git a/batch-driver.scm b/batch-driver.scm
index 62390bb1..7d885b63 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -451,13 +451,6 @@
(set! ##sys#features (cons '#:compiling ##sys#features))
(set! upap (user-post-analysis-pass))
- ;; Append required extensions to initforms:
- (set! initforms
- (append
- initforms
- (map (lambda (r) `(import ,(string->symbol r)))
- (collect-options 'require-extension))))
-
;; Handle units added with the "-uses" flag.
(let ((uses (append-map
(lambda (u) (map string->symbol (string-split u ", ")))
@@ -466,6 +459,13 @@
(set! forms
(cons `(##core#declare (uses . ,uses)) forms))))
+ ;; Append required extensions to initforms:
+ (set! initforms
+ (append
+ initforms
+ (map (lambda (r) `(import ,(string->symbol r)))
+ (collect-options 'require-extension))))
+
(when (memq 'compile-syntax options)
(set! ##sys#enable-runtime-macros #t) )
(set! target-heap-size
Trap