~ 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