diff --git a/src/mzscheme/Makefile.in b/src/mzscheme/Makefile.in index 97d3fbe380..f9d7425895 100644 --- a/src/mzscheme/Makefile.in +++ b/src/mzscheme/Makefile.in @@ -221,8 +221,7 @@ $(collectsdir)/scheme/private/kernstruct.ss: $(srcdir)/src/makeexn $(srcdir)/src/$(CSTARTUPDEST): $(srcdir)/src/startup.ss $(srcdir)/src/schvers.h $(srcdir)/src/schminc.h - ./mzscheme@CGC@ -cqu $(srcdir)/src/sstoinc.ss $(CSTARTUPEXTRA) < $(srcdir)/src/startup.ss > $(srcdir)/src/$(CSTARTUPDEST) - + ./mzscheme@CGC@ -cqu $(srcdir)/src/sstoinc.ss $(CSTARTUPEXTRA) $(srcdir)/src/$(CSTARTUPDEST) < $(srcdir)/src/startup.ss $(srcdir)/src/mzmark.c: $(srcdir)/src/mzmarksrc.c $(srcdir)/src/mkmark.ss mzscheme -cu $(srcdir)/src/mkmark.ss < $(srcdir)/src/mzmarksrc.c > $(srcdir)/src/mzmark.c diff --git a/src/mzscheme/src/sstoinc.ss b/src/mzscheme/src/sstoinc.ss index 15dacd12a3..d29cb79c92 100644 --- a/src/mzscheme/src/sstoinc.ss +++ b/src/mzscheme/src/sstoinc.ss @@ -7,6 +7,9 @@ (namespace-require ''#%kernel) +(call-with-output-file (vector-ref (current-command-line-arguments) 0) #:exists 'replace + (lambda (outfile) + (let loop () (let ([expr (read)]) (unless (eof-object? expr) @@ -14,17 +17,17 @@ [p (open-output-bytes)]) (write c p) (let ([s (get-output-bytes p)]) - (printf " {~n SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {") + (fprintf outfile " {~n SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {") (let loop ([chars (bytes->list s)][pos 0]) (unless (null? chars) (let ([char (car chars)]) - (printf "~a," char)) + (fprintf outfile "~a," char)) (loop (cdr chars) (if (= pos DIGS-PER-LINE) (begin - (newline) + (newline outfile) 0) (add1 pos))))) - (printf "0};~n EVAL_ONE_SIZED_STR((char *)expr, ~a);~n" (bytes-length s)) - (printf " }~n"))) - (loop)))) + (fprintf outfile "0};~n EVAL_ONE_SIZED_STR((char *)expr, ~a);~n" (bytes-length s)) + (fprintf outfile " }~n"))) + (loop))))))