new utility for adjust the embedded collects path
svn: r2741
This commit is contained in:
parent
1d77707ef1
commit
678b6e1102
26
collects/compiler/private/collects-path.ss
Normal file
26
collects/compiler/private/collects-path.ss
Normal file
|
@ -0,0 +1,26 @@
|
|||
|
||||
(module collects-path mzscheme
|
||||
(provide set-collects-path)
|
||||
|
||||
(define label "coLLECTs dIRECTORy:")
|
||||
|
||||
(define set-collects-path
|
||||
(case-lambda
|
||||
[()
|
||||
(let ([v (current-command-line-arguments)])
|
||||
(set-collects-path (vector-ref v 0) (vector-ref v 1)))]
|
||||
[(dest path)
|
||||
(let-values ([(i o) (open-input-output-file dest 'update)])
|
||||
(let ([m (regexp-match-positions label i)]
|
||||
[path (if (string? path)
|
||||
(string->path path)
|
||||
path)])
|
||||
(unless m
|
||||
(error 'set-collects-path
|
||||
"cannot find collection-path label in executable file"))
|
||||
(file-position o (cdar m))
|
||||
(write-bytes (path->bytes path) o)
|
||||
(write-byte 0 o)
|
||||
(close-input-port i)
|
||||
(close-output-port o)))])))
|
||||
|
Loading…
Reference in New Issue
Block a user