~ chicken-core (chicken-5) 458e7ada247c50e9f9b4692d829641a089fa47df
commit 458e7ada247c50e9f9b4692d829641a089fa47df Author: Kooda <kooda@upyum.com> AuthorDate: Wed Jan 23 12:34:43 2019 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Jan 24 15:10:08 2019 +0100 Add 'linkage' to the component-options specification of eggs Signed-off-by: felix <felix@call-with-current-continuation.org> diff --git a/egg-compile.scm b/egg-compile.scm index ba4ed67c..da277179 100644 --- a/egg-compile.scm +++ b/egg-compile.scm @@ -190,7 +190,7 @@ (sdeps '()) (src #f) (cbuild #f) - (link default-extension-linkage) + (link (if (null? link) default-extension-linkage link)) (tfile #f) (ptfile #f) (ifile #f) @@ -239,7 +239,7 @@ (sdeps '()) (src #f) (cbuild #f) - (link default-extension-linkage) + (link (if (null? link) default-extension-linkage link)) (oname #f) (mods #f) (opts opts)) @@ -325,7 +325,7 @@ (sdeps '()) (cbuild #f) (src #f) - (link default-program-linkage) + (link (if (null? link) default-program-linkage link)) (lobjs '()) (lopts lopts) (oname #f) @@ -408,7 +408,8 @@ (case (car info) ((csc-options) (set! opts (append opts (cdr info)))) ((link-options) (set! lopts (append lopts (cdr info)))) - (else (error "invalid option specification" info)))) + ((linkage) (set! link (append link (cdr info)))) + (else (error "invalid component-options specification" info)))) (define (compile-cond-expand info walk) (let loop ((clauses (cdr info))) (cond ((null? clauses) diff --git a/manual/Egg specification format b/manual/Egg specification format index 20b1dd0f..24b45038 100644 --- a/manual/Egg specification format +++ b/manual/Egg specification format @@ -145,7 +145,7 @@ intended for cross compilation. [egg property] (component-options OPTIONSPEC ...) Specifies global options for all programs and extensions compiled for this egg. -{{OPTIONSPEC}} may be {{csc-options}} or {{link-options}} specifications. +{{OPTIONSPEC}} may be {{csc-options}}, {{link-options}} or {{linkage}} specifications. ==== cond-expandTrap