~ chicken-core (chicken-5) 0899b4260059e6d3c5eadd8dd9cac8c0e3766dff
commit 0899b4260059e6d3c5eadd8dd9cac8c0e3766dff Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Jun 3 20:08:52 2010 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Jun 3 20:08:52 2010 +0200 standard-extension: fixed yet another bug and produces and installs inline file, if created diff --git a/setup-api.scm b/setup-api.scm index 4093aebb..5e30d889 100644 --- a/setup-api.scm +++ b/setup-api.scm @@ -512,16 +512,20 @@ (define (standard-extension name version #!key (static #t) (info '())) (let* ((sname (->string name)) (fname (make-pathname #f sname "scm")) - (iname (make-pathname #f sname "import.scm"))) - (compile -s -O3 -d1 ,fname -j ,name) + (iname (make-pathname #f sname "import.scm")) + (ilname (make-pathname #f sname "inline"))) + (compile -dynamic -optimize-level 3 -debug-level 1 ,fname -emit-import-library ,name) (when static - (compile -c -O3 -d1 ,fname -j ,name -unit ,name)) - (compile -s -O3 -d0 ,iname) + (compile -c -optimize-level 3 -debug-level 1 ,fname -emit-import-library + ,name -unit ,name)) + (compile -dynamic -optimize-level 3 -debug-level 0 ,iname) (install-extension name - (list (pathname-replace-extension fname "so") - (pathname-replace-extension iname "so") - (make-pathname #f sname "setup")) + `(,(pathname-replace-extension fname "so") + ,(pathname-replace-extension iname "so") + ,@(if (file-exists? ilname) + (list ilname) + '())) `((version ,version) ,@info ,@(if static `((static ,(make-pathname #f fname "o"))) '())))))Trap