~ 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