diff --git a/collects/compiler/bundle-dist.ss b/collects/compiler/bundle-dist.rkt similarity index 100% rename from collects/compiler/bundle-dist.ss rename to collects/compiler/bundle-dist.rkt diff --git a/collects/compiler/commands/decompile.rkt b/collects/compiler/commands/decompile.rkt new file mode 100644 index 0000000000..0bc201d044 --- /dev/null +++ b/collects/compiler/commands/decompile.rkt @@ -0,0 +1,25 @@ +#lang scheme/base +(require scheme/cmdline + raco/command-name + compiler/zo-parse + compiler/decompile + scheme/pretty) + +(define source-files + (command-line + #:program (short-program+command-name) + #:args source-or-bytecode-file + source-or-bytecode-file)) + +(for ([zo-file source-files]) + (let ([zo-file (path->complete-path zo-file)]) + (let-values ([(base name dir?) (split-path zo-file)]) + (let ([alt-file (build-path base "compiled" (path-add-suffix name #".zo"))]) + (parameterize ([current-load-relative-directory base] + [print-graph #t]) + (pretty-print + (decompile + (call-with-input-file* + (if (file-exists? alt-file) alt-file zo-file) + (lambda (in) + (zo-parse in)))))))))) diff --git a/collects/compiler/commands/exe-dir.rkt b/collects/compiler/commands/exe-dir.rkt new file mode 100644 index 0000000000..dae09d1438 --- /dev/null +++ b/collects/compiler/commands/exe-dir.rkt @@ -0,0 +1,31 @@ +#lang scheme/base +(require scheme/cmdline + raco/command-name + compiler/distribute) + +(define verbose (make-parameter #f)) +(define exe-embedded-collects-path (make-parameter #f)) +(define exe-dir-add-collects-dirs (make-parameter null)) + +(define-values (dest-dir source-files) + (command-line + #:program (short-program+command-name) + #:once-each + [("--collects-path") path "Set as main collects for executables" + (exe-embedded-collects-path path)] + #:multi + [("++collects-copy") dir "Add collects in to directory" + (exe-dir-add-collects-dirs (append (exe-dir-add-collects-dirs) (list dir)))] + #:once-each + [("-v") "Verbose mode" + (verbose #t)] + #:args (dest-dir . executable) + (values dest-dir executable))) + +(assemble-distribution + dest-dir + source-files + #:collects-path (exe-embedded-collects-path) + #:copy-collects (exe-dir-add-collects-dirs)) +(when (verbose) + (printf " [output to \"~a\"]\n" dest-dir)) diff --git a/collects/compiler/commands/exe.rkt b/collects/compiler/commands/exe.rkt new file mode 100644 index 0000000000..59a956f60f --- /dev/null +++ b/collects/compiler/commands/exe.rkt @@ -0,0 +1,90 @@ +#lang scheme/base +(require scheme/cmdline + raco/command-name + compiler/private/embed + dynext/file) + +(define verbose (make-parameter #f)) +(define very-verbose (make-parameter #f)) + +(define gui (make-parameter #f)) +(define 3m (make-parameter #t)) + +(define exe-output (make-parameter #f)) +(define exe-embedded-flags (make-parameter '("-U" "--"))) +(define exe-embedded-libraries (make-parameter null)) +(define exe-aux (make-parameter null)) +(define exe-embedded-collects-path (make-parameter #f)) +(define exe-embedded-collects-dest (make-parameter #f)) + +(define source-file + (command-line + #:program (short-program+command-name) + #:once-each + [("-o") file "Write executable as " + (exe-output file)] + [("--gui") "Geneate GUI executable" + (gui #t)] + [("--collects-path") path "Set as main collects for executable" + (exe-embedded-collects-path path)] + [("--collects-dest") dir "Write collection code to " + (exe-embedded-collects-dest dir)] + [("--ico") .ico-file "Set Windows icon for executable" + (exe-aux (cons (cons 'ico .ico-file) (exe-aux)))] + [("--icns") .icns-file "Set Mac OS X icon for executable" + (exe-aux (cons (cons 'icns .icns-file) (exe-aux)))] + [("--orig-exe") "Use original executable instead of stub" + (exe-aux (cons (cons 'original-exe? #t) (exe-aux)))] + [("--3m") "Generate using 3m variant" + (3m #t)] + [("--cgc") "Generate using CGC variant" + (3m #f)] + #:multi + [("++lib") lib "Embed in executable" + (exe-embedded-libraries (append (exe-embedded-libraries) (list lib)))] + [("++exf") flag "Add flag to embed in executable" + (exe-embedded-flags (append (exe-embedded-flags) (list flag)))] + [("--exf") flag "Remove flag to embed in executable" + (exe-embedded-flags (remove flag (exe-embedded-flags)))] + [("--exf-clear") "Clear flags to embed in executable" + (exe-embedded-flags null)] + [("--exf-show") "Show flags to embed in executable" + (printf "Flags to embed: ~s\n" (exe-embedded-flags))] + #:once-each + [("-v") "Verbose mode" + (verbose #t)] + [("--vv") "Very verbose mode" + (verbose #t) + (very-verbose #t)] + #:args (source-file) + source-file)) + +(let ([dest (mzc:embedding-executable-add-suffix + (or (exe-output) + (extract-base-filename/ss source-file + (string->symbol (short-program+command-name)))) + (gui))]) + (mzc:create-embedding-executable + dest + #:mred? (gui) + #:variant (if (3m) '3m 'cgc) + #:verbose? (very-verbose) + #:modules (cons `(#%mzc: (file ,source-file)) + (map (lambda (l) `(#t (lib ,l))) + (exe-embedded-libraries))) + #:configure-via-first-module? #t + #:literal-expression + (parameterize ([current-namespace (make-base-namespace)]) + (compile + `(namespace-require + '',(string->symbol + (format "#%mzc:~a" + (let-values ([(base name dir?) + (split-path source-file)]) + (path->bytes (path-replace-suffix name #"")))))))) + #:cmdline (exe-embedded-flags) + #:collects-path (exe-embedded-collects-path) + #:collects-dest (exe-embedded-collects-dest) + #:aux (exe-aux)) + (when (verbose) + (printf " [output to \"~a\"]\n" dest))) diff --git a/collects/compiler/commands/expand.rkt b/collects/compiler/commands/expand.rkt new file mode 100644 index 0000000000..181b79b1c3 --- /dev/null +++ b/collects/compiler/commands/expand.rkt @@ -0,0 +1,26 @@ +#lang scheme/base +(require scheme/cmdline + raco/command-name + scheme/pretty) + +(define source-files + (command-line + #:program (short-program+command-name) + #:args source-file + source-file)) + +(for ([src-file source-files]) + (let ([src-file (path->complete-path src-file)]) + (let-values ([(base name dir?) (split-path src-file)]) + (parameterize ([current-load-relative-directory base] + [current-namespace (make-base-namespace)] + [read-accept-reader #t]) + (call-with-input-file* + src-file + (lambda (in) + (port-count-lines! in) + (let loop () + (let ([e (read-syntax src-file in)]) + (unless (eof-object? e) + (pretty-print (syntax->datum (expand e))) + (loop)))))))))) diff --git a/collects/compiler/commands/info.rkt b/collects/compiler/commands/info.rkt new file mode 100644 index 0000000000..9a3106d696 --- /dev/null +++ b/collects/compiler/commands/info.rkt @@ -0,0 +1,10 @@ +#lang setup/infotab + +(define raco-commands + '(("make" compiler/commands/make "compile source to bytecode" 100) + ("exe" compiler/commands/exe "create executable" 20) + ("pack" compiler/commands/pack "pack files/collections into a .plt archive" 10) + ("decompile" compiler/commands/decompile "decompile bytecode" #f) + ("expand" compiler/commands/expand "macro-expand source" #f) + ("distribute" compiler/commands/exe-dir "prepare executable(s) in a directory for distribution" #f) + ("ctool" compiler/commands/ctool "compile and link C-based extensions" #f))) diff --git a/collects/compiler/commands/make.rkt b/collects/compiler/commands/make.rkt new file mode 100644 index 0000000000..57ae63c1c4 --- /dev/null +++ b/collects/compiler/commands/make.rkt @@ -0,0 +1,79 @@ +#lang scheme/base +(require scheme/cmdline + raco/command-name + compiler/cm + "../compiler.ss" + dynext/file) + +(define verbose (make-parameter #f)) +(define very-verbose (make-parameter #f)) +(define disable-inlining (make-parameter #f)) + +(define disable-deps (make-parameter #f)) +(define prefixes (make-parameter null)) +(define assume-primitives (make-parameter #t)) + +(define source-files + (command-line + #:program (short-program+command-name) + #:once-each + [("--disable-inline") "Disable procedure inlining during compilation" + (disable-inlining #t)] + [("--no-deps") "Compile immediate files without updating depdencies" + (disable-deps #t)] + [("-p" "--prefix") file "Add elaboration-time prefix file for --no-deps" + (prefixes (append (prefixes) (list file)))] + [("--no-prim") "Do not assume `scheme' bindings at top level for --no-deps" + (assume-primitives #f)] + [("-v") "Verbose mode" + (verbose #t)] + [("--vv") "Very verbose mode" + (verbose #t) + (very-verbose #t)] + #:args (file . another-file) (cons file another-file))) + +(if (disable-deps) + ;; Just compile one file: + (let ([prefix + `(begin + (require scheme) + ,(if (assume-primitives) + '(void) + '(namespace-require/copy 'scheme)) + (require compiler/cffi) + ,@(map (lambda (s) `(load ,s)) (prefixes)) + (void))]) + ((compile-zos prefix #:verbose? (verbose)) + source-files + 'auto)) + ;; Normal make: + (let ([n (make-base-empty-namespace)] + [did-one? #f]) + (parameterize ([current-namespace n] + [manager-trace-handler + (lambda (p) + (when (very-verbose) + (printf " ~a\n" p)))] + [manager-compile-notify-handler + (lambda (p) + (set! did-one? #t) + (when (verbose) + (printf " making ~s\n" (path->string p))))]) + (for ([file source-files]) + (unless (file-exists? file) + (error 'mzc "file does not exist: ~a" file)) + (set! did-one? #f) + (let ([name (extract-base-filename/ss file 'mzc)]) + (when (verbose) + (printf "\"~a\":\n" file)) + (parameterize ([compile-context-preservation-enabled + (disable-inlining)]) + (managed-compile-zo file)) + (let ([dest (append-zo-suffix + (let-values ([(base name dir?) (split-path file)]) + (build-path (if (symbol? base) 'same base) + "compiled" name)))]) + (when (verbose) + (printf " [~a \"~a\"]\n" + (if did-one? "output to" "already up-to-date at") + dest)))))))) diff --git a/collects/compiler/commands/pack.rkt b/collects/compiler/commands/pack.rkt new file mode 100644 index 0000000000..852ee99d74 --- /dev/null +++ b/collects/compiler/commands/pack.rkt @@ -0,0 +1,99 @@ +#lang scheme/base +(require scheme/cmdline + raco/command-name + setup/pack + setup/getinfo + compiler/distribute) + +(define verbose (make-parameter #f)) + +(define collection? (make-parameter #f)) + +(define default-plt-name "archive") + +(define plt-name (make-parameter default-plt-name)) +(define plt-files-replace (make-parameter #f)) +(define plt-files-plt-relative? (make-parameter #f)) +(define plt-files-plt-home-relative? (make-parameter #f)) +(define plt-force-install-dir? (make-parameter #f)) +(define plt-setup-collections (make-parameter null)) +(define plt-include-compiled (make-parameter #f)) + +(define-values (plt-output source-files) + (command-line + #:program (short-program+command-name) + #:once-each + [("--collect") "Pack collections instead of files and directories" + (collection? #t)] + [("--plt-name") name "Set the printed describing the archive" + (plt-name name)] + [("--replace") "Files in archive replace existing files when unpacked" + (plt-files-replace #t)] + [("--at-plt") "Files/dirs in archive are relative to user's add-ons directory" + (plt-files-plt-relative? #t)] + #:once-any + [("--all-users") "Files/dirs in archive go to PLT installation if writable" + (plt-files-plt-home-relative? #t)] + [("--force-all-users") "Files/dirs forced to PLT installation" + (plt-files-plt-home-relative? #t) (plt-force-install-dir? #t)] + #:once-each + [("--include-compiled") "Include \"compiled\" subdirectories in the archive" + (plt-include-compiled #t)] + #:multi + [("++setup") collect "Setup after the archive is unpacked" + (plt-setup-collections (append (plt-setup-collections) (list collect)))] + #:once-each + [("-v") "Verbose mode" + (verbose #t)] + #:args (dest-file . file) + (values dest-file file))) + +(if (not (collection?)) + ;; Files and directories + (begin + (for ([fd source-files]) + (unless (relative-path? fd) + (error 'mzc + "file/directory is not relative to the current directory: \"~a\"" + fd))) + (pack-plt plt-output + (plt-name) + source-files + #:collections (map list (plt-setup-collections)) + #:file-mode (if (plt-files-replace) 'file-replace 'file) + #:plt-relative? (or (plt-files-plt-relative?) + (plt-files-plt-home-relative?)) + #:at-plt-home? (plt-files-plt-home-relative?) + #:test-plt-dirs (if (or (plt-force-install-dir?) + (not (plt-files-plt-home-relative?))) + #f + '("collects" "doc" "include" "lib")) + #:requires + ;; Get current version of mzscheme for require: + (let* ([i (get-info '("mzscheme"))] + [v (and i (i 'version (lambda () #f)))]) + (list (list '("mzscheme") v)))) + (when (verbose) + (printf " [output to \"~a\"]\n" plt-output))) + ;; Collection + (begin + (pack-collections-plt + plt-output + (if (eq? default-plt-name (plt-name)) #f (plt-name)) + (map (lambda (sf) + (let loop ([sf sf]) + (let ([m (regexp-match "^([^/]*)/(.*)$" sf)]) + (if m (cons (cadr m) (loop (caddr m))) (list sf))))) + source-files) + #:replace? (plt-files-replace) + #:extra-setup-collections (map list (plt-setup-collections)) + #:file-filter (if (plt-include-compiled) + (lambda (path) + (or (regexp-match #rx#"compiled$" (path->bytes path)) + (std-filter path))) + std-filter) + #:at-plt-home? (plt-files-plt-home-relative?) + #:test-plt-collects? (not (plt-force-install-dir?))) + (when (verbose) + (printf " [output to \"~a\"]\n" plt-output)))) + diff --git a/collects/compiler/decompile.ss b/collects/compiler/decompile.rkt similarity index 98% rename from collects/compiler/decompile.ss rename to collects/compiler/decompile.rkt index cff92eccd5..e6d8e0aa48 100644 --- a/collects/compiler/decompile.ss +++ b/collects/compiler/decompile.rkt @@ -92,7 +92,7 @@ (define (decompile-module mod-form stack) (match mod-form - [(struct mod (name self-modidx prefix provides requires body syntax-body unexported + [(struct mod (name srcname self-modidx prefix provides requires body syntax-body unexported max-let-depth dummy lang-info internal-context)) (let-values ([(globs defns) (decompile-prefix prefix)] [(stack) (append '(#%modvars) stack)] @@ -207,9 +207,9 @@ ,@(map (lambda (lam) (decompile-lam lam globs stack closed)) lams))] - [(struct let-one (rhs body flonum?)) + [(struct let-one (rhs body flonum? unused?)) (let ([id (or (extract-id rhs) - (gensym 'local))]) + (gensym (if unused? 'unused 'local)))]) `(let ([,id ,(let ([v (decompile-expr rhs globs (cons id stack) closed)]) (if flonum? (list '#%as-flonum v) @@ -336,7 +336,7 @@ bitwise-bit-set? char=? + - * / quotient remainder min max bitwise-and bitwise-ior bitwise-xor arithmetic-shift vector-ref string-ref bytes-ref - set-mcar! set-mcdr! cons mcons + set-mcar! set-mcdr! cons mcons set-box! list list* vector vector-immutable))] [(4) (memq (car a) '(vector-set! string-set! bytes-set! list list* vector vector-immutable diff --git a/collects/compiler/embed-sig.ss b/collects/compiler/embed-sig.rkt similarity index 100% rename from collects/compiler/embed-sig.ss rename to collects/compiler/embed-sig.rkt diff --git a/collects/compiler/sig.ss b/collects/compiler/sig.rkt similarity index 97% rename from collects/compiler/sig.ss rename to collects/compiler/sig.rkt index ed1350d5d6..03b35835a7 100644 --- a/collects/compiler/sig.ss +++ b/collects/compiler/sig.rkt @@ -31,7 +31,7 @@ ; default = #t compile-for-embedded ; #f => make objects to be linked - ; directly with MzScheme, not dynamically + ; directly with Racket, not dynamically ; loaded; default = #f max-inline-size ; max size of inlined procedures diff --git a/collects/compiler/zo-marshal.ss b/collects/compiler/zo-marshal.rkt similarity index 98% rename from collects/compiler/zo-marshal.ss rename to collects/compiler/zo-marshal.rkt index c59938b482..0e8276b586 100644 --- a/collects/compiler/zo-marshal.ss +++ b/collects/compiler/zo-marshal.rkt @@ -90,9 +90,10 @@ (define (traverse-module mod-form visit) (match mod-form - [(struct mod (name self-modidx prefix provides requires body syntax-body unexported + [(struct mod (name srcname self-modidx prefix provides requires body syntax-body unexported max-let-depth dummy lang-info internal-context)) (traverse-data name visit) + (traverse-data srcname visit) (traverse-data self-modidx visit) (traverse-prefix prefix visit) (for-each (lambda (f) (map (lambda (v) (traverse-data v visit)) (cdr f))) requires) @@ -160,7 +161,7 @@ [(struct case-lam (name lams)) (traverse-data name visit) (for-each (lambda (lam) (traverse-lam lam visit)) lams)] - [(struct let-one (rhs body flonum?)) + [(struct let-one (rhs body flonum? unused?)) (traverse-expr rhs visit) (traverse-expr body visit)] [(struct let-void (count boxes? body)) @@ -247,11 +248,11 @@ (define wcm-type-num 14) (define quote-syntax-type-num 15) (define variable-type-num 24) -(define top-type-num 87) -(define case-lambda-sequence-type-num 96) -(define begin0-sequence-type-num 97) -(define module-type-num 100) -(define prefix-type-num 102) +(define top-type-num 89) +(define case-lambda-sequence-type-num 99) +(define begin0-sequence-type-num 100) +(define module-type-num 103) +(define prefix-type-num 105) (define-syntax define-enum (syntax-rules () @@ -297,7 +298,8 @@ CPT_PATH CPT_CLOSURE CPT_DELAY_REF - CPT_PREFAB) + CPT_PREFAB + CPT_LET_ONE_UNUSED) (define-enum 0 @@ -314,7 +316,7 @@ APPVALS_EXPD SPLICE_EXPD) -(define CPT_SMALL_NUMBER_START 35) +(define CPT_SMALL_NUMBER_START 36) (define CPT_SMALL_NUMBER_END 60) (define CPT_SMALL_SYMBOL_START 60) @@ -430,7 +432,7 @@ (define (out-module mod-form out) (match mod-form - [(struct mod (name self-modidx prefix provides requires body syntax-body unexported + [(struct mod (name srcname self-modidx prefix provides requires body syntax-body unexported max-let-depth dummy lang-info internal-context)) (out-syntax MODULE_EXPD (let* ([lookup-req (lambda (phase) @@ -503,6 +505,7 @@ [l (list* #f #f l)] ; obsolete `functional?' info [l (cons lang-info l)] ; lang-info [l (cons self-modidx l)] + [l (cons srcname l)] [l (cons name l)]) (make-module-decl l)) out)])) @@ -715,8 +718,12 @@ (cons (or name null) lams) out)] - [(struct let-one (rhs body flonum?)) - (out-byte (if flonum? CPT_LET_ONE_FLONUM CPT_LET_ONE) out) + [(struct let-one (rhs body flonum? unused?)) + (out-byte (cond + [flonum? CPT_LET_ONE_FLONUM] + [unused? CPT_LET_ONE_UNUSED] + [else CPT_LET_ONE]) + out) (out-expr (protect-quote rhs) out) (out-expr (protect-quote body) out)] [(struct let-void (count boxes? body)) diff --git a/collects/compiler/zo-parse.ss b/collects/compiler/zo-parse.rkt similarity index 98% rename from collects/compiler/zo-parse.ss rename to collects/compiler/zo-parse.rkt index 77e6685c95..801430206a 100644 --- a/collects/compiler/zo-parse.ss +++ b/collects/compiler/zo-parse.rkt @@ -205,7 +205,7 @@ (define (read-module v) (match v - [`(,name ,self-modidx ,lang-info ,functional? ,et-functional? + [`(,name ,srcname ,self-modidx ,lang-info ,functional? ,et-functional? ,rename ,max-let-depth ,dummy ,prefix ,indirect-et-provides ,num-indirect-et-provides @@ -218,7 +218,7 @@ [`(,syntax-body ,body ,requires ,syntax-requires ,template-requires ,label-requires ,more-requires-count . ,more-requires) - (make-mod name self-modidx + (make-mod name srcname self-modidx prefix (let loop ([l phase-data]) (if (null? l) null @@ -314,10 +314,10 @@ [(15) 'quote-syntax-type] [(24) 'variable-type] [(25) 'module-variable-type] - [(96) 'case-lambda-sequence-type] - [(97) 'begin0-sequence-type] - [(100) 'module-type] - [(102) 'resolve-prefix-type] + [(99) 'case-lambda-sequence-type] + [(100) 'begin0-sequence-type] + [(103) 'module-type] + [(105) 'resolve-prefix-type] [else (error 'int->type "unknown type: ~e" i)])) (define type-readers @@ -412,7 +412,8 @@ [32 closure] [33 delayed] [34 prefab] - [35 60 small-number] + [35 let-one-unused] + [36 60 small-number] [60 80 small-symbol] [80 92 small-marshalled] [92 ,(+ 92 small-list-max) small-proper-list] @@ -766,9 +767,10 @@ (if ppr null (read-compact cp))) (read-compact-list l ppr cp)) (loop l ppr)))] - [(let-one let-one-flonum) + [(let-one let-one-flonum let-one-unused) (make-let-one (read-compact cp) (read-compact cp) - (eq? cpt-tag 'let-one-flonum))] + (eq? cpt-tag 'let-one-flonum) + (eq? cpt-tag 'let-one-unused))] [(branch) (make-branch (read-compact cp) (read-compact cp) (read-compact cp))] [(module-index) (module-path-index-join (read-compact cp) (read-compact cp))] diff --git a/collects/compiler/zo-structs.ss b/collects/compiler/zo-structs.rkt similarity index 99% rename from collects/compiler/zo-structs.ss rename to collects/compiler/zo-structs.rkt index cd37ba4a5a..2d2413594d 100644 --- a/collects/compiler/zo-structs.ss +++ b/collects/compiler/zo-structs.rkt @@ -90,6 +90,7 @@ [max-let-depth exact-nonnegative-integer?])) (define-form-struct (mod form) ([name symbol?] + [srcname symbol?] [self-modidx module-path-index?] [prefix prefix?] [provides (listof (list/c (or/c exact-integer? #f) @@ -118,7 +119,7 @@ (define-form-struct (closure expr) ([code lam?] [gen-id symbol?])) ; a static closure (nothing to close over) (define-form-struct (case-lam expr) ([name (or/c symbol? vector? empty?)] [clauses (listof (or/c lam? indirect?))])) ; each clause is a lam (added indirect) -(define-form-struct (let-one expr) ([rhs (or/c expr? seq? indirect? any/c)] [body (or/c expr? seq? indirect? any/c)] [flonum? boolean?])) ; pushes one value onto stack +(define-form-struct (let-one expr) ([rhs (or/c expr? seq? indirect? any/c)] [body (or/c expr? seq? indirect? any/c)] [flonum? boolean?] [unused? boolean?])) ; pushes one value onto stack (define-form-struct (let-void expr) ([count exact-nonnegative-integer?] [boxes? boolean?] [body (or/c expr? seq? indirect? any/c)])) ; create new stack slots (define-form-struct (install-value expr) ([count exact-nonnegative-integer?] [pos exact-nonnegative-integer?] diff --git a/collects/launcher/launcher-sig.ss b/collects/launcher/launcher-sig.rkt similarity index 52% rename from collects/launcher/launcher-sig.ss rename to collects/launcher/launcher-sig.rkt index 1b5d41289b..25ba8c2bad 100644 --- a/collects/launcher/launcher-sig.ss +++ b/collects/launcher/launcher-sig.rkt @@ -1,30 +1,47 @@ - #lang scheme/signature +make-gracket-launcher +make-racket-launcher make-mred-launcher make-mzscheme-launcher +make-gracket-program-launcher +make-racket-program-launcher make-mred-program-launcher make-mzscheme-program-launcher +gracket-program-launcher-path +racket-program-launcher-path mred-program-launcher-path mzscheme-program-launcher-path +install-gracket-program-launcher +install-racket-program-launcher install-mred-program-launcher install-mzscheme-program-launcher +gracket-launcher-up-to-date? +racket-launcher-up-to-date? mred-launcher-up-to-date? mzscheme-launcher-up-to-date? +gracket-launcher-is-directory? +racket-launcher-is-directory? mred-launcher-is-directory? mzscheme-launcher-is-directory? +gracket-launcher-is-actually-directory? +racket-launcher-is-actually-directory? mred-launcher-is-actually-directory? mzscheme-launcher-is-actually-directory? +gracket-launcher-add-suffix +racket-launcher-add-suffix mred-launcher-add-suffix mzscheme-launcher-add-suffix +gracket-launcher-put-file-extension+style+filters +racket-launcher-put-file-extension+style+filters mred-launcher-put-file-extension+style+filters mzscheme-launcher-put-file-extension+style+filters @@ -32,3 +49,5 @@ build-aux-from-path current-launcher-variant available-mred-variants available-mzscheme-variants +available-gracket-variants +available-racket-variants diff --git a/collects/setup/option-sig.ss b/collects/setup/option-sig.rkt similarity index 94% rename from collects/setup/option-sig.ss rename to collects/setup/option-sig.rkt index 79cb5cd4b0..efa4c1eb89 100644 --- a/collects/setup/option-sig.ss +++ b/collects/setup/option-sig.rkt @@ -5,7 +5,8 @@ (provide setup-option^) (define-signature setup-option^ - (verbose + (setup-program-name + verbose make-verbose compiler-verbose clean diff --git a/collects/tests/compiler/regression.ss b/collects/tests/compiler/regression.rkt similarity index 100% rename from collects/tests/compiler/regression.ss rename to collects/tests/compiler/regression.rkt diff --git a/collects/tests/compiler/zo-test.ss b/collects/tests/compiler/zo-test.rkt similarity index 99% rename from collects/tests/compiler/zo-test.ss rename to collects/tests/compiler/zo-test.rkt index b19012f9db..e805c64e1e 100644 --- a/collects/tests/compiler/zo-test.ss +++ b/collects/tests/compiler/zo-test.rkt @@ -185,7 +185,7 @@ (hash-update! errors (common-message exn) add1 0) (unless (and (not (care-about-nonserious?)) (not serious?)) (when (or (verbose-mode) (stop-on-first-error)) - (printf "~a -- ~a: ~a~n" file phase (exn-message exn))) + (fprintf (current-error-port) "~a -- ~a: ~a~n" file phase (exn-message exn))) (when (stop-on-first-error) exn))) diff --git a/collects/tests/mzscheme/embed-me1.ss b/collects/tests/racket/embed-me1.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1.ss rename to collects/tests/racket/embed-me1.rkt diff --git a/collects/tests/mzscheme/embed-me10.ss b/collects/tests/racket/embed-me10.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me10.ss rename to collects/tests/racket/embed-me10.rkt diff --git a/collects/tests/mzscheme/embed-me11-rd.ss b/collects/tests/racket/embed-me11-rd.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me11-rd.ss rename to collects/tests/racket/embed-me11-rd.rkt diff --git a/collects/tests/mzscheme/embed-me1b.ss b/collects/tests/racket/embed-me1b.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1b.ss rename to collects/tests/racket/embed-me1b.rkt diff --git a/collects/tests/mzscheme/embed-me1c.ss b/collects/tests/racket/embed-me1c.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1c.ss rename to collects/tests/racket/embed-me1c.rkt diff --git a/collects/tests/mzscheme/embed-me1d.ss b/collects/tests/racket/embed-me1d.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1d.ss rename to collects/tests/racket/embed-me1d.rkt diff --git a/collects/tests/mzscheme/embed-me1e.ss b/collects/tests/racket/embed-me1e.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1e.ss rename to collects/tests/racket/embed-me1e.rkt diff --git a/collects/tests/mzscheme/embed-me2.ss b/collects/tests/racket/embed-me2.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me2.ss rename to collects/tests/racket/embed-me2.rkt diff --git a/collects/tests/mzscheme/embed-me3.ss b/collects/tests/racket/embed-me3.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me3.ss rename to collects/tests/racket/embed-me3.rkt diff --git a/collects/tests/mzscheme/embed-me4.ss b/collects/tests/racket/embed-me4.rktl similarity index 100% rename from collects/tests/mzscheme/embed-me4.ss rename to collects/tests/racket/embed-me4.rktl diff --git a/collects/tests/mzscheme/embed-me5.ss b/collects/tests/racket/embed-me5.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me5.ss rename to collects/tests/racket/embed-me5.rkt diff --git a/collects/tests/mzscheme/embed-me6.ss b/collects/tests/racket/embed-me6.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me6.ss rename to collects/tests/racket/embed-me6.rkt diff --git a/collects/tests/mzscheme/embed-me8.c b/collects/tests/racket/embed-me8.c similarity index 100% rename from collects/tests/mzscheme/embed-me8.c rename to collects/tests/racket/embed-me8.c diff --git a/collects/tests/mzscheme/embed-me9.ss b/collects/tests/racket/embed-me9.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me9.ss rename to collects/tests/racket/embed-me9.rkt diff --git a/collects/tests/mzscheme/embed.ss b/collects/tests/racket/embed.rktl similarity index 99% rename from collects/tests/mzscheme/embed.ss rename to collects/tests/racket/embed.rktl index e7aa33ba27..06fd331cb4 100644 --- a/collects/tests/mzscheme/embed.ss +++ b/collects/tests/racket/embed.rktl @@ -1,5 +1,5 @@ -(load-relative "loadtest.ss") +(load-relative "loadtest.rktl") (Section 'embed)