~ chicken-core (chicken-5) 53594a5316e116680c5e92b48494f42c84887f41
commit 53594a5316e116680c5e92b48494f42c84887f41
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Nov 13 16:19:24 2009 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Fri Nov 20 15:27:58 2009 +0100
standard-extension should use keyword args
Signed-off-by: felix <felix@call-with-current-continuation.org>
diff --git a/manual/Extensions b/manual/Extensions
index 55c3d6f8..fd361f3f 100644
--- a/manual/Extensions
+++ b/manual/Extensions
@@ -153,7 +153,7 @@ files in {{FILELIST}} to executable (for installing shell-scripts).
==== standard-extension
- [procedure] (standard-extension ID VERSION [STATIC])
+ [procedure] (standard-extension ID VERSION #!key static info)
A convenience procedure that combines the compilation and installation of
a simple single-file extension. This is roughly equivalent to:
@@ -166,7 +166,8 @@ a simple single-file extension. This is roughly equivalent to:
'ID
'("ID.o" "ID.so" "ID.import.so")
'((version 1.0)
- (static "ID.o"))) ; STATIC ...
+ ... `INFO' ...
+ (static "ID.o"))) ; if `static' is given and true
==== run
diff --git a/setup-api.scm b/setup-api.scm
index 66526e6e..623422fc 100644
--- a/setup-api.scm
+++ b/setup-api.scm
@@ -496,7 +496,7 @@
;;; Convenience function
-(define (standard-extension name version #!optional (static #t))
+(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")))
@@ -510,6 +510,7 @@
(pathname-replace-extension iname "so")
(make-pathname #f sname "setup"))
`((version ,version)
+ ,@info
,@(if static `((static ,(make-pathname #f fname "o"))) '())))))
Trap