~ chicken-core (chicken-5) 76379dc0f95e5ee0f1ff632884db660e6e624753
commit 76379dc0f95e5ee0f1ff632884db660e6e624753
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Mon Jun 11 07:31:41 2018 +1200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Tue Jun 12 09:27:51 2018 +0200
Mark all extensions as static when using (linkage static)
Rather than trying to locate static extensions during compilation with
`chicken.load#find-static-extension', this leaves that task for csc to
do at the linking step, since csc.scm already has more complete logic
for locating files in `find-object-file', including a consideration of
files in the current directory and whether setup-mode is enabled. Doing
things this way ensures that objects from the build directory are found
even before they're installed into the repository, which is necessary
when compiling an egg that has dependencies from one static component to
another.
This finishes off #1468, for which a9fcaf7f was an incomplete fix.
Signed-off-by: felix <felix@call-with-current-continuation.org>
diff --git a/eval.scm b/eval.scm
index 24cfd127..ae70f888 100644
--- a/eval.scm
+++ b/eval.scm
@@ -1325,10 +1325,9 @@
(if compiling?
(values `(##core#declare (uses ,id)) #f)
(values `(##sys#load-library (##core#quote ,id)) #f)))
- ((and compiling? static? (find-static-extension id)) =>
- (lambda (path)
- (mark-static id)
- (values `(##core#declare (uses ,id)) 'static)))
+ ((and compiling? static?)
+ (mark-static id)
+ (values `(##core#declare (uses ,id)) 'static))
(else
(values `(chicken.load#load-extension
(##core#quote ,id)
Trap