~ 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