~ chicken-core (chicken-5) 33fcdb3a5eb3e25b25a28059c5c86c742179ca25
commit 33fcdb3a5eb3e25b25a28059c5c86c742179ca25 Author: Peter Bex <peter@more-magic.net> AuthorDate: Mon Aug 24 21:45:39 2015 +0200 Commit: Moritz Heidkamp <moritz.heidkamp@bevuta.com> CommitDate: Sun Sep 6 20:26:48 2015 +0200 Ensure "try-compile" from setup-api cleans up tempfiles. It now creates the file with a controlled name, which can then be cleaned up. Fixes #1213 Signed-off-by: Moritz Heidkamp <moritz.heidkamp@bevuta.com> diff --git a/NEWS b/NEWS index 79519da5..f77eb857 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,9 @@ 4.10.1 +- Core libraries + - try-compile from setup-api cleans up temporary output files (#1213). + - Runtime system: - The calling convention of CPS procedures has been changed to use "argument vectors" instead of C calling convention. diff --git a/setup-api.scm b/setup-api.scm index a2f8ca3d..a995d6cd 100644 --- a/setup-api.scm +++ b/setup-api.scm @@ -541,7 +541,7 @@ cc " " (if compile-only "-c" "") " " cflags " " *target-cflags* " " - fname " " + (shellpath fname) " -o " (shellpath oname) " " (if compile-only "" (conc "-L" *target-lib-home* " " ldflags " " *target-libs*) ) @@ -551,6 +551,7 @@ cmd) ) ) ) ) (when verb (print (if (zero? r) "succeeded." "failed."))) (ignore-errors ($system (sprintf "~A ~A" *remove-command* (shellpath fname)))) + (ignore-errors ($system (sprintf "~A ~A" *remove-command* (shellpath oname)))) (zero? r) ) ) (define test-compile try-compile)Trap