~ chicken-core (chicken-5) 0ed47ce520bb87da07fbab1e69f0b0a3dd2a31e0
commit 0ed47ce520bb87da07fbab1e69f0b0a3dd2a31e0 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sat Jun 30 11:53:11 2018 +0200 Commit: Peter Bex <peter@more-magic.net> CommitDate: Fri Jul 13 21:31:52 2018 +0200 Check exitlevel in Windows build scripts and abort when a command fails Signed-off-by: Peter Bex <peter@more-magic.net> diff --git a/egg-compile.scm b/egg-compile.scm index 29dd610e..364af316 100644 --- a/egg-compile.scm +++ b/egg-compile.scm @@ -497,7 +497,8 @@ " " src " -o " out " : " src " " (quotearg eggfile) " " (if custom (quotearg cmd) "") " " - (filelist srcdir source-dependencies)))) + (filelist srcdir source-dependencies)) + (print-end-command platform))) (define ((compile-dynamic-extension name #!key mode mode source (options '()) (link-options '()) @@ -533,7 +534,8 @@ (arglist link-options) " " src " -o " out " : " src " " (quotearg eggfile) " " (if custom (quotearg cmd) "") " " - (filelist srcdir source-dependencies)))) + (filelist srcdir source-dependencies)) + (print-end-command platform))) (define ((compile-import-library name #!key mode source-dependencies @@ -557,7 +559,8 @@ " -I " srcdir " -C -I" srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " (if custom (quotearg cmd) "") " " - src (filelist srcdir source-dependencies)))) + src (filelist srcdir source-dependencies)) + (print-end-command platform))) (define ((compile-dynamic-program name #!key source mode (options '()) (link-options '()) @@ -585,7 +588,8 @@ (arglist link-options) " " src " -o " out " : " src " " (quotearg eggfile) " " (if custom (quotearg cmd) "") " " - (filelist srcdir source-dependencies)))) + (filelist srcdir source-dependencies)) + (print-end-command platform))) (define ((compile-static-program name #!key source (options '()) (link-options '()) @@ -613,7 +617,8 @@ (arglist link-options) " " src " -o " out " : " src " " (quotearg eggfile) " " (if custom (quotearg cmd) "") " " - (filelist srcdir source-dependencies)))) + (filelist srcdir source-dependencies)) + (print-end-command platform))) (define ((compile-generated-file name #!key source custom source-dependencies eggfile) @@ -627,7 +632,8 @@ " " out " " cmd " : " (quotearg cmd) " " (quotearg eggfile) " " - (filelist srcdir source-dependencies)))) + (filelist srcdir source-dependencies)) + (print-end-command platform))) ;; installation operations @@ -654,7 +660,8 @@ (quotearg (slashify (conc dest "/" output-file +link-file-extension+) - platform))))) + platform))) + (print-end-command platform))) (define ((install-dynamic-extension name #!key mode (ext ".so") output-file) @@ -672,7 +679,8 @@ (print "\n" mkdir " " ddir dfile) (when (eq? platform 'unix) (print dcmd " " ddir destf)) - (print cmd " " out " " ddir destf))) + (print cmd " " out " " ddir destf) + (print-end-command platform))) (define ((install-import-library name #!key mode) srcdir platform) @@ -692,7 +700,8 @@ (print "\n" mkdir " " ddir dfile) (print cmd " " out " " ddir (quotearg (slashify (conc dest "/" name ".import.scm") - platform))))) + platform))) + (print-end-command platform))) (define ((install-types-file name #!key mode types-file) srcdir platform) @@ -705,7 +714,8 @@ (print "\n" mkdir " " ddir dfile) (print cmd " " out " " ddir (quotearg (slashify (conc dest "/" types-file ".types") - platform))))) + platform))) + (print-end-command platform))) (define ((install-inline-file name #!key mode inline-file) srcdir platform) @@ -718,7 +728,8 @@ (print "\n" mkdir " " ddir dfile) (print cmd " " out " " ddir (quotearg (slashify (conc dest "/" inline-file ".inline") - platform))))) + platform))) + (print-end-command platform))) (define ((install-program name #!key mode output-file) srcdir platform) (let* ((cmd (install-executable-command platform)) @@ -737,7 +748,8 @@ (print "\n" mkdir " " ddir dfile) (when (eq? platform 'unix) (print dcmd " " ddir destf)) - (print cmd " " out " " ddir destf))) + (print cmd " " out " " ddir destf) + (print-end-command platform))) (define ((install-data name #!key files destination mode) srcdir platform) @@ -754,10 +766,12 @@ (let-values (((ds fs) (partition directory? sfiles))) (for-each (lambda (d) - (print dcmd " " (quotearg d) " " ddir dfile)) + (print dcmd " " (quotearg d) " " ddir dfile) + (print-end-command platform)) ds) (when (pair? fs) - (print fcmd (arglist fs) " " ddir dfile))))) + (print fcmd (arglist fs) " " ddir dfile) + (print-end-command platform))))) (define ((install-c-include name #!key deps files destination mode) srcdir platform) @@ -769,7 +783,8 @@ (dfile (quotearg (slashify dest platform))) (ddir (shell-variable "DESTDIR" platform))) (print "\n" mkdir " " ddir dfile) - (print cmd (arglist (map (cut prefix srcdir <>) files)) " " ddir dfile))) + (print cmd (arglist (map (cut prefix srcdir <>) files)) " " ddir dfile) + (print-end-command platform))) ;;; Generate shell or batch commands from abstract build/install operations @@ -922,3 +937,7 @@ EOF (case platform ((windows) (conc custom ".bat")) (else custom))))) + +(define (print-end-command platform) + (case platform + ((windows) (print "if errorlevel 1 exit /b 1"))))Trap