~ chicken-core (chicken-5) f72d4150de170b9fc0a67bbf2a2289b72aad0d0a
commit f72d4150de170b9fc0a67bbf2a2289b72aad0d0a Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sat Jan 7 17:19:46 2017 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sat Jan 7 17:19:46 2017 +0100 use link files when compiling static eggs diff --git a/egg-compile.scm b/egg-compile.scm index 488c404a..e6d26e43 100644 --- a/egg-compile.scm +++ b/egg-compile.scm @@ -120,7 +120,10 @@ (when (eq? #t tfile) (set! tfile target)) (when (eq? #t ifile) (set! ifile target)) (addfiles - (if (memq 'static link) (list (conc dest "/" target objext)) '()) + (if (memq 'static link) + (list (conc dest "/" target objext) + (conc dest "/" target ".link")) + '()) (if (memq 'dynamic link) (list (conc dest "/" target ".so")) '()) (if tfile (list (conc dest "/" tfile ".types")) @@ -343,8 +346,7 @@ (options '()) custom) srcdir platform) (let* ((cmd (or (and custom (prefix-custom-command custom)) - (conc default-csc " -D compiling-extension -c -J -unit " name - " -D compiling-static-extension"))) + default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) (out (quotearg (target-file (conc sname @@ -353,8 +355,11 @@ (src (quotearg (or ssname (conc sname ".scm"))))) (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") - " -setup-mode" - " -I " srcdir " -C -I" srcdir (arglist options) + " -setup-mode -static -I " srcdir + " -D compiling-extension -c -J -unit " name + " -D compiling-static-extension" + " -emit-link-file " (quotearg (conc sname ".link")) + " -C -I" srcdir (arglist options) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -363,15 +368,15 @@ custom) srcdir platform) (let* ((cmd (or (and custom (prefix-custom-command custom)) - (conc default-csc " -D compiling-extension -J -s"))) + default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) (out (quotearg (target-file (conc sname ".so") mode))) (src (quotearg (or ssname (conc sname ".scm"))))) (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") - " -setup-mode" - " -I " srcdir " -C -I" srcdir (arglist options) + " -D compiling-extension -J -s" + " -setup-mode -I " srcdir " -C -I" srcdir (arglist options) (arglist link-options) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -380,14 +385,14 @@ custom) srcdir platform) (let* ((cmd (or (and custom (prefix-custom-command custom)) - (conc default-csc " -s"))) + default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) (out (quotearg (target-file (conc sname ".import.so") mode))) (src (quotearg (or source (conc sname ".import.scm"))))) (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") - " -setup-mode" + " -setup-mode -s" " -I " srcdir " -C -I" srcdir (arglist options) (arglist link-options) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -416,7 +421,7 @@ custom mode) srcdir platform) (let* ((cmd (or (and custom (prefix-custom-command custom)) - (conc default-csc " -static-libs"))) + default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) (out (quotearg (target-file (conc sname @@ -425,8 +430,9 @@ (src (quotearg (or ssname (conc sname ".scm"))))) (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") - " -setup-mode" - " -I " srcdir " -C -I" srcdir (arglist options) + " -static-libs" + " -setup-mode -static -I " srcdir " -C -I" + srcdir (arglist options) (arglist link-options) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -457,6 +463,10 @@ (print cmd " " out " " ddir (quotearg (slashify (conc dest "/" output-file ext) + platform))) + (print cmd " " out " " ddir (quotearg (slashify (conc dest "/" + output-file + ".link") platform))))) (define ((install-dynamic-extension name #!key mode (ext ".so")Trap