use --script when relaunching copy

svn: r2753
This commit is contained in:
Eli Barzilay 2006-04-23 22:25:34 +00:00
parent 5c39160ebd
commit 152ece97bc

View File

@ -1,28 +1,27 @@
;; This is a wrapper around `winvers-change.ss' to patch binary files with the
;; current version number.
(module winvers mzscheme
(require (lib "file.ss")
"plthome.ss")
(require (lib "file.ss") "plthome.ss")
(define (make-copy)
(let ([tmpdir (find-system-path 'temp-dir)])
(let ([vers (build-path tmpdir "setvers")])
(unless (directory-exists? vers)
(make-directory vers))
(for-each
(lambda (p)
(let ([dest (build-path vers p)])
(when (file-exists? dest)
(delete-file dest))
(copy-file (build-path plthome p) dest)))
'("mzscheme.exe" "libmzgcxxxxxxx.dll" "libmzschxxxxxxx.dll"))
(build-path vers "mzscheme.exe"))))
(let* ([tmpdir (find-system-path 'temp-dir)]
[vers (build-path tmpdir "setvers")])
(unless (directory-exists? vers) (make-directory vers))
(for-each (lambda (p)
(let ([dest (build-path vers p)])
(when (file-exists? dest) (delete-file dest))
(copy-file (build-path plthome p) dest)))
'("mzscheme.exe" "libmzgcxxxxxxx.dll" "libmzschxxxxxxx.dll"))
(build-path vers "mzscheme.exe")))
(define (patch-files)
(parameterize ((current-command-line-arguments
(vector (path->string plthome))))
(dynamic-require `(lib "winvers-change.ss" "setup") #f)))
(define collects-dir
(path->string (simplify-path (build-path (collection-path "mzlib") 'up))))
(let ([argv (current-command-line-arguments)])
(cond
[(equal? argv #())
@ -31,7 +30,8 @@
(printf "re-launching first time...~n")
(subprocess
(current-output-port) (current-input-port) (current-error-port)
exe "-mvqL-" "winvers.ss" "setup" "patch"))]
exe "--collects" collects-dir
"-mvqL-" "winvers.ss" "setup" "patch"))]
[(equal? argv #("patch"))
(sleep 1) ; time for other process to end
(patch-files)