~ chicken-core (chicken-5) e5c59af14c2c01b2c7d51944d67e6e7099a47407
commit e5c59af14c2c01b2c7d51944d67e6e7099a47407
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 13 16:19:24 2009 +0100
standard-extension should use keyword args
diff --git a/manual/Extensions b/manual/Extensions
index 34b4336b..e9103538 100644
--- a/manual/Extensions
+++ b/manual/Extensions
@@ -160,7 +160,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:
@@ -173,7 +173,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 bd156720..9ca75c5d 100644
--- a/setup-api.scm
+++ b/setup-api.scm
@@ -494,7 +494,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")))
@@ -508,6 +508,7 @@
(pathname-replace-extension iname "so")
(make-pathname #f sname "setup"))
`((version ,version)
+ ,@info
,@(if static `((static ,(make-pathname #f fname "o"))) '())))))
Trap