~ 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