cs: fix Windows script for updating Chez Scheme checkout

This commit is contained in:
Matthew Flatt 2019-03-22 08:41:08 -06:00
parent e34dbdc4f4
commit 66efceee0e

View File

@ -67,7 +67,7 @@
;; ---------------------------------------- ;; ----------------------------------------
(unless (directory-exists? scheme-dir) (let ([submodules '("nanopass" "stex" "zlib" "lz4")])
(define (clone from to [git-clone-args '()]) (define (clone from to [git-clone-args '()])
(apply system*! (append (apply system*! (append
(list "git" (list "git"
@ -77,30 +77,31 @@
(cond (cond
[extra-repos-base [extra-repos-base
;; Intentionally not using `git-clone-args` ;; Intentionally not using `git-clone-args`
(clone (format "~aChezScheme/.git" extra-repos-base) (unless (directory-exists? scheme-dir)
scheme-dir) (clone (format "~aChezScheme/.git" extra-repos-base)
(clone (format "~ananopass/.git" extra-repos-base) scheme-dir))
(build-path scheme-dir "nanopass")) (for ([submodule (in-list submodules)])
(clone (format "~astex/.git" extra-repos-base) (define dir (build-path scheme-dir submodule))
(build-path scheme-dir "stex")) (unless (directory-exists? (build-path dir ".git"))
(clone (format "~azlib/.git" extra-repos-base) (clone (format "~a~a/.git" submodule extra-repos-base)
(build-path scheme-dir "zlib")) (build-path scheme-dir submodule))))
(clone (format "~alz4/.git" extra-repos-base) (when pull?
(build-path scheme-dir "lz4"))] (parameterize ([current-directory scheme-dir])
(system*! "git" "pull")
(for ([submodule (in-list submodules)])
(parameterize ([current-directory (build-path scheme-dir submodule)])
(system*! "git" "pull")))))]
[else [else
(clone "https://github.com/mflatt/ChezScheme" (unless (directory-exists? scheme-dir)
scheme-dir (clone "https://github.com/mflatt/ChezScheme"
git-clone-args)])) scheme-dir
git-clone-args))
(when pull? (when pull?
(unless scheme-dir-provided? (parameterize ([current-directory scheme-dir])
(parameterize ([current-directory scheme-dir]) (system*! "git" "pull"))
(system*! "git" "pull")))) (parameterize ([current-directory scheme-dir])
(system*! "git" "submodule" "init")
(unless (file-exists? (build-path scheme-dir "zlib" "Makefile")) (system*! "git" "submodule" "update")))]))
(parameterize ([current-directory scheme-dir])
(system*! "git" "submodule" "init")
(system*! "git" "submodule" "update")))
(prep-chez-scheme scheme-dir machine) (prep-chez-scheme scheme-dir machine)