From 2ecb2fd7a390cd480a522097b5041bd431fd0083 Mon Sep 17 00:00:00 2001 From: felix Date: Sun, 29 Apr 2018 12:22:46 +0200 Subject: [PATCH] chicken-install: make extensions and programs dependent on the .egg file This was suggested by klm: during development, changing compiler options in the .egg file need to force recompilation. --- chicken-install.scm | 10 ++++++++-- egg-compile.scm | 22 +++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/chicken-install.scm b/chicken-install.scm index 5197e08a..e5753cbd 100644 --- a/chicken-install.scm +++ b/chicken-install.scm @@ -800,7 +800,10 @@ (when (or host-extension (and (not target-extension) (not host-extension))) - (let-values (((build install info) (compile-egg-info info platform 'host))) + (let-values (((build install info) (compile-egg-info eggfile + info + platform + 'host))) (check-installed-files name info) (let ((bscript (make-pathname dir name (build-script-extension 'host platform))) @@ -826,7 +829,10 @@ (not (test-egg egg platform))) (exit 2))))))) (when target-extension - (let-values (((build install info) (compile-egg-info info platform 'target))) + (let-values (((build install info) (compile-egg-info eggfile + info + platform + 'target))) (let ((bscript (make-pathname dir name (build-script-extension 'target platform))) (iscript (make-pathname dir name diff --git a/egg-compile.scm b/egg-compile.scm index 53e8213d..44b8a350 100644 --- a/egg-compile.scm +++ b/egg-compile.scm @@ -120,7 +120,7 @@ ;;; compile an egg-information tree into abstract build/install operations -(define (compile-egg-info info platform mode) +(define (compile-egg-info eggfile info platform mode) (let ((exts '()) (prgs '()) (data '()) @@ -189,7 +189,7 @@ (cons (list target dependencies: deps source: src options: opts link-options: lopts linkage: link custom: cbuild mode: mode types-file: tfile inline-file: ifile - predefined-types: ptfile + predefined-types: ptfile eggfile: eggfile modules: (or mods (list rtarget)) output-file: rtarget) exts))))) @@ -268,7 +268,7 @@ (set! prgs (cons (list target dependencies: deps source: src options: opts link-options: lopts linkage: link custom: cbuild - mode: mode output-file: rtarget) + mode: mode output-file: rtarget eggfile: eggfile) prgs))))) (else (compile-common info compile-component)))) (define (compile-extension/program info) @@ -442,7 +442,7 @@ (define ((compile-static-extension name #!key mode dependencies source (options '()) - predefined-types + predefined-types eggfile custom types-file inline-file) srcdir platform) (let* ((cmd (or (and custom (prefix srcdir custom)) @@ -478,11 +478,11 @@ " -D compiling-static-extension" " -C -I" srcdir (arglist opts) " " src " -o " out " : " - src #;(arglist dependencies)))) + src " " (quotearg eggfile) #;(arglist dependencies)))) (define ((compile-dynamic-extension name #!key mode dependencies mode source (options '()) (link-options '()) - predefined-types + predefined-types eggfile custom types-file inline-file) srcdir platform) (let* ((cmd (or (and custom (prefix srcdir custom)) @@ -511,7 +511,7 @@ " -D compiling-extension -J -s" " -setup-mode -I " srcdir " -C -I" srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " - src #;(arglist dependencies)))) + src " " (quotearg eggfile) #;(arglist dependencies)))) (define ((compile-import-library name #!key dependencies mode (options '()) (link-options '()) @@ -537,7 +537,7 @@ (define ((compile-dynamic-program name #!key dependencies source mode (options '()) (link-options '()) - custom) + custom eggfile) srcdir platform) (let* ((cmd (or (and custom (prefix srcdir custom)) default-csc)) @@ -558,11 +558,11 @@ (if (eq? mode 'host) " -host" "") " -I " srcdir " -C -I" srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " - src #;(arglist dependencies)))) + src " " (quotearg eggfile) #;(arglist dependencies)))) (define ((compile-static-program name #!key dependencies source (options '()) (link-options '()) - custom mode) + custom mode eggfile) srcdir platform) (let* ((cmd (or (and custom (prefix srcdir custom)) default-csc)) @@ -583,7 +583,7 @@ " -static -setup-mode -I " srcdir " -C -I" srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " - src #;(arglist dependencies)))) + src " " (quotearg eggfile) #;(arglist dependencies)))) (define ((compile-generated-file name #!key dependencies source custom) srcdir platform) -- 2.11.0