~ 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