~ chicken-core (chicken-5) 2e9d037555f4324aeb374013b03f0774f408fb58
commit 2e9d037555f4324aeb374013b03f0774f408fb58 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Jul 8 14:55:23 2010 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Jul 8 14:55:23 2010 +0200 if known, supply version automatically (suggested by Alejandro) diff --git a/setup-api.scm b/setup-api.scm index 9f2cb310..0185dd6f 100644 --- a/setup-api.scm +++ b/setup-api.scm @@ -516,6 +516,18 @@ ((equal? "a" ext) (if *windows-shell* "lib" "a")) (else ext))))) +(define (what-version version) + (or version + (let ((n+v (extension-name-and-version))) + (if (and n+v (pair? n+v) (not (equal? "" (cadr n+v)))) + (cadr n+v) + "unknown")))) + +(define (supply-version info version) + (if (assq 'version info) + info + (cons `(version ,(what-version version)) info))) + ;;; Convenience function @@ -536,8 +548,7 @@ ,@(if (file-exists? ilname) (list ilname) '())) - `((version ,version) - ,@info + `(,@(supply-version info version) ,@(if static `((static ,(make-pathname #f fname "o"))) '()))))) @@ -564,7 +575,7 @@ (run (,*ranlib-command* ,(shellpath to)) ) )) to)) files) ) ) - (write-info id dests info) ) ) ) + (write-info id dests (supply-version info #f)) ) ) ) (define (install-program id files #!optional (info '())) (define (exify f) @@ -590,7 +601,7 @@ (run (,*chmod-command* a+r ,(shellpath to)))) to) ) files) ) ) - (write-info id dests info) ) ) ) + (write-info id dests (supply-version info #f)) ) ) ) (define (install-script id files #!optional (info '())) (when (setup-install-mode) @@ -607,7 +618,7 @@ files) ) ) (unless *windows-shell* (run (,*chmod-command* a+rx ,(string-intersperse pfiles " "))) ) - (write-info id pfiles info) ) ) ) + (write-info id pfiles (supply-version info #f)) ) ) ) ;;; More helper stuffTrap