From 9136b6b85d59392e613fcc06b8255cb63fb6ded9 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 28 Mar 2010 01:10:33 +0000 Subject: [PATCH 1/9] chaperones (v4.2.5.3) svn: r18650 original commit: 73807aef247c0d74806fe43ef0720e3979de7007 --- collects/compiler/decompile.ss | 2 +- collects/compiler/zo-marshal.ss | 10 +++++----- collects/compiler/zo-parse.ss | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/collects/compiler/decompile.ss b/collects/compiler/decompile.ss index cff92eccd5..be61752ce8 100644 --- a/collects/compiler/decompile.ss +++ b/collects/compiler/decompile.ss @@ -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/zo-marshal.ss b/collects/compiler/zo-marshal.ss index c59938b482..2ac973aba1 100644 --- a/collects/compiler/zo-marshal.ss +++ b/collects/compiler/zo-marshal.ss @@ -247,11 +247,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 () diff --git a/collects/compiler/zo-parse.ss b/collects/compiler/zo-parse.ss index 77e6685c95..868d7cbff2 100644 --- a/collects/compiler/zo-parse.ss +++ b/collects/compiler/zo-parse.ss @@ -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 From 3832a4ae1a57e4d23c6b221543436ea54428c0f9 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 4 Apr 2010 15:08:35 +0000 Subject: [PATCH 2/9] rico svn: r18733 original commit: fdba97b1c09d8c338f0d069f17741211917758d5 --- collects/compiler/commands/decompile.ss | 25 +++++++ collects/compiler/commands/exe-dir.ss | 31 ++++++++ collects/compiler/commands/exe.ss | 90 ++++++++++++++++++++++ collects/compiler/commands/expand.ss | 26 +++++++ collects/compiler/commands/info.ss | 10 +++ collects/compiler/commands/make.ss | 79 ++++++++++++++++++++ collects/compiler/commands/pack.ss | 99 +++++++++++++++++++++++++ collects/setup/option-sig.ss | 3 +- 8 files changed, 362 insertions(+), 1 deletion(-) create mode 100644 collects/compiler/commands/decompile.ss create mode 100644 collects/compiler/commands/exe-dir.ss create mode 100644 collects/compiler/commands/exe.ss create mode 100644 collects/compiler/commands/expand.ss create mode 100644 collects/compiler/commands/info.ss create mode 100644 collects/compiler/commands/make.ss create mode 100644 collects/compiler/commands/pack.ss diff --git a/collects/compiler/commands/decompile.ss b/collects/compiler/commands/decompile.ss new file mode 100644 index 0000000000..ee5a4c9eeb --- /dev/null +++ b/collects/compiler/commands/decompile.ss @@ -0,0 +1,25 @@ +#lang scheme/base +(require scheme/cmdline + rico/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.ss b/collects/compiler/commands/exe-dir.ss new file mode 100644 index 0000000000..3952d4d484 --- /dev/null +++ b/collects/compiler/commands/exe-dir.ss @@ -0,0 +1,31 @@ +#lang scheme/base +(require scheme/cmdline + rico/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.ss b/collects/compiler/commands/exe.ss new file mode 100644 index 0000000000..0c5586ab6a --- /dev/null +++ b/collects/compiler/commands/exe.ss @@ -0,0 +1,90 @@ +#lang scheme/base +(require scheme/cmdline + rico/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.ss b/collects/compiler/commands/expand.ss new file mode 100644 index 0000000000..45f3539835 --- /dev/null +++ b/collects/compiler/commands/expand.ss @@ -0,0 +1,26 @@ +#lang scheme/base +(require scheme/cmdline + rico/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.ss b/collects/compiler/commands/info.ss new file mode 100644 index 0000000000..47ac1abd96 --- /dev/null +++ b/collects/compiler/commands/info.ss @@ -0,0 +1,10 @@ +#lang setup/infotab + +(define rico + '(("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) + ("c-ext" compiler/commands/c-ext "compile and link C-based extensions" #f))) diff --git a/collects/compiler/commands/make.ss b/collects/compiler/commands/make.ss new file mode 100644 index 0000000000..17d07381f6 --- /dev/null +++ b/collects/compiler/commands/make.ss @@ -0,0 +1,79 @@ +#lang scheme/base +(require scheme/cmdline + rico/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 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.ss b/collects/compiler/commands/pack.ss new file mode 100644 index 0000000000..1605b88d99 --- /dev/null +++ b/collects/compiler/commands/pack.ss @@ -0,0 +1,99 @@ +#lang scheme/base +(require scheme/cmdline + rico/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/setup/option-sig.ss b/collects/setup/option-sig.ss index 79cb5cd4b0..efa4c1eb89 100644 --- a/collects/setup/option-sig.ss +++ b/collects/setup/option-sig.ss @@ -5,7 +5,8 @@ (provide setup-option^) (define-signature setup-option^ - (verbose + (setup-program-name + verbose make-verbose compiler-verbose clean From abd90494f9a0f5b343515a9b187c29d49fd4d7ee Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 6 Apr 2010 15:52:36 +0000 Subject: [PATCH 3/9] better compiler handling of unused local bindings where the RHS either doesn't obviously produce a single value or is discovered to be unused late in bytecode compilation; initial Scribble support for printing qq-style results svn: r18737 original commit: c5ac9f23ec5d40ef4d81f69d2dde9932dd38fe77 --- collects/compiler/decompile.ss | 4 ++-- collects/compiler/zo-marshal.ss | 15 ++++++++++----- collects/compiler/zo-parse.ss | 8 +++++--- collects/compiler/zo-structs.ss | 2 +- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/collects/compiler/decompile.ss b/collects/compiler/decompile.ss index be61752ce8..c1d5f9cd77 100644 --- a/collects/compiler/decompile.ss +++ b/collects/compiler/decompile.ss @@ -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) diff --git a/collects/compiler/zo-marshal.ss b/collects/compiler/zo-marshal.ss index 2ac973aba1..a174d35642 100644 --- a/collects/compiler/zo-marshal.ss +++ b/collects/compiler/zo-marshal.ss @@ -160,7 +160,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)) @@ -297,7 +297,8 @@ CPT_PATH CPT_CLOSURE CPT_DELAY_REF - CPT_PREFAB) + CPT_PREFAB + CPT_LET_ONE_UNUSED) (define-enum 0 @@ -314,7 +315,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) @@ -715,8 +716,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.ss index 868d7cbff2..37c3dcd2d6 100644 --- a/collects/compiler/zo-parse.ss +++ b/collects/compiler/zo-parse.ss @@ -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.ss index cd37ba4a5a..a1f8f982a8 100644 --- a/collects/compiler/zo-structs.ss +++ b/collects/compiler/zo-structs.ss @@ -118,7 +118,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?] From 6e479fda657d68ae502d9cab61c604098d66b9e5 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 15 Apr 2010 21:15:57 -0400 Subject: [PATCH 4/9] create core binaries as 'racket' and 'gracket' original commit: 0f0a59732e9a446aa42c9ab3b43c473ea57e6763 --- collects/launcher/launcher-sig.ss | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/collects/launcher/launcher-sig.ss b/collects/launcher/launcher-sig.ss index 1b5d41289b..25ba8c2bad 100644 --- a/collects/launcher/launcher-sig.ss +++ b/collects/launcher/launcher-sig.ss @@ -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 From d898152fa15995dfb0ecfcc7c04974412ef18157 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 21 Apr 2010 13:38:04 -0600 Subject: [PATCH 5/9] rico -> racket-tool original commit: c862eb8121be398c3741b1f68e3b3fbb224d92d9 --- collects/compiler/commands/decompile.ss | 2 +- collects/compiler/commands/exe-dir.ss | 2 +- collects/compiler/commands/exe.ss | 2 +- collects/compiler/commands/expand.ss | 2 +- collects/compiler/commands/info.ss | 2 +- collects/compiler/commands/make.ss | 2 +- collects/compiler/commands/pack.ss | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/collects/compiler/commands/decompile.ss b/collects/compiler/commands/decompile.ss index ee5a4c9eeb..8b16b48434 100644 --- a/collects/compiler/commands/decompile.ss +++ b/collects/compiler/commands/decompile.ss @@ -1,6 +1,6 @@ #lang scheme/base (require scheme/cmdline - rico/command-name + tool/command-name compiler/zo-parse compiler/decompile scheme/pretty) diff --git a/collects/compiler/commands/exe-dir.ss b/collects/compiler/commands/exe-dir.ss index 3952d4d484..95f28d1aee 100644 --- a/collects/compiler/commands/exe-dir.ss +++ b/collects/compiler/commands/exe-dir.ss @@ -1,6 +1,6 @@ #lang scheme/base (require scheme/cmdline - rico/command-name + tool/command-name compiler/distribute) (define verbose (make-parameter #f)) diff --git a/collects/compiler/commands/exe.ss b/collects/compiler/commands/exe.ss index 0c5586ab6a..762df0ff2b 100644 --- a/collects/compiler/commands/exe.ss +++ b/collects/compiler/commands/exe.ss @@ -1,6 +1,6 @@ #lang scheme/base (require scheme/cmdline - rico/command-name + tool/command-name compiler/private/embed dynext/file) diff --git a/collects/compiler/commands/expand.ss b/collects/compiler/commands/expand.ss index 45f3539835..ed742087c1 100644 --- a/collects/compiler/commands/expand.ss +++ b/collects/compiler/commands/expand.ss @@ -1,6 +1,6 @@ #lang scheme/base (require scheme/cmdline - rico/command-name + tool/command-name scheme/pretty) (define source-files diff --git a/collects/compiler/commands/info.ss b/collects/compiler/commands/info.ss index 47ac1abd96..a2fef6dcbd 100644 --- a/collects/compiler/commands/info.ss +++ b/collects/compiler/commands/info.ss @@ -1,6 +1,6 @@ #lang setup/infotab -(define rico +(define racket-tools '(("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) diff --git a/collects/compiler/commands/make.ss b/collects/compiler/commands/make.ss index 17d07381f6..61336ce1e4 100644 --- a/collects/compiler/commands/make.ss +++ b/collects/compiler/commands/make.ss @@ -1,6 +1,6 @@ #lang scheme/base (require scheme/cmdline - rico/command-name + tool/command-name compiler/cm "../compiler.ss" dynext/file) diff --git a/collects/compiler/commands/pack.ss b/collects/compiler/commands/pack.ss index 1605b88d99..add2f667b1 100644 --- a/collects/compiler/commands/pack.ss +++ b/collects/compiler/commands/pack.ss @@ -1,6 +1,6 @@ #lang scheme/base (require scheme/cmdline - rico/command-name + tool/command-name setup/pack setup/getinfo compiler/distribute) From a42c49472e3d22f8af2d3550b3bbea1290c07ab5 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 27 Apr 2010 18:28:39 -0600 Subject: [PATCH 6/9] move tests/mzscheme to tests/racket original commit: 882b7dce0eaf92eab6fe45565ca6c1a09aa26027 --- collects/tests/{mzscheme => racket}/embed-me1.rkt | 0 collects/tests/{mzscheme => racket}/embed-me10.rkt | 0 collects/tests/{mzscheme => racket}/embed-me11-rd.rkt | 0 collects/tests/{mzscheme => racket}/embed-me1b.rkt | 0 collects/tests/{mzscheme => racket}/embed-me1c.rkt | 0 collects/tests/{mzscheme => racket}/embed-me1d.rkt | 0 collects/tests/{mzscheme => racket}/embed-me1e.rkt | 0 collects/tests/{mzscheme => racket}/embed-me2.rkt | 0 collects/tests/{mzscheme => racket}/embed-me3.rkt | 0 collects/tests/{mzscheme => racket}/embed-me4.rkt | 0 collects/tests/{mzscheme => racket}/embed-me5.rkt | 0 collects/tests/{mzscheme => racket}/embed-me6.rkt | 0 collects/tests/{mzscheme => racket}/embed-me8.c | 0 collects/tests/{mzscheme => racket}/embed-me9.rkt | 0 collects/tests/{mzscheme => racket}/embed.rkt | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename collects/tests/{mzscheme => racket}/embed-me1.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me10.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me11-rd.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me1b.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me1c.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me1d.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me1e.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me2.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me3.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me4.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me5.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me6.rkt (100%) rename collects/tests/{mzscheme => racket}/embed-me8.c (100%) rename collects/tests/{mzscheme => racket}/embed-me9.rkt (100%) rename collects/tests/{mzscheme => racket}/embed.rkt (100%) diff --git a/collects/tests/mzscheme/embed-me1.rkt b/collects/tests/racket/embed-me1.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1.rkt rename to collects/tests/racket/embed-me1.rkt diff --git a/collects/tests/mzscheme/embed-me10.rkt b/collects/tests/racket/embed-me10.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me10.rkt rename to collects/tests/racket/embed-me10.rkt diff --git a/collects/tests/mzscheme/embed-me11-rd.rkt b/collects/tests/racket/embed-me11-rd.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me11-rd.rkt rename to collects/tests/racket/embed-me11-rd.rkt diff --git a/collects/tests/mzscheme/embed-me1b.rkt b/collects/tests/racket/embed-me1b.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1b.rkt rename to collects/tests/racket/embed-me1b.rkt diff --git a/collects/tests/mzscheme/embed-me1c.rkt b/collects/tests/racket/embed-me1c.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1c.rkt rename to collects/tests/racket/embed-me1c.rkt diff --git a/collects/tests/mzscheme/embed-me1d.rkt b/collects/tests/racket/embed-me1d.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1d.rkt rename to collects/tests/racket/embed-me1d.rkt diff --git a/collects/tests/mzscheme/embed-me1e.rkt b/collects/tests/racket/embed-me1e.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me1e.rkt rename to collects/tests/racket/embed-me1e.rkt diff --git a/collects/tests/mzscheme/embed-me2.rkt b/collects/tests/racket/embed-me2.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me2.rkt rename to collects/tests/racket/embed-me2.rkt diff --git a/collects/tests/mzscheme/embed-me3.rkt b/collects/tests/racket/embed-me3.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me3.rkt rename to collects/tests/racket/embed-me3.rkt diff --git a/collects/tests/mzscheme/embed-me4.rkt b/collects/tests/racket/embed-me4.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me4.rkt rename to collects/tests/racket/embed-me4.rkt diff --git a/collects/tests/mzscheme/embed-me5.rkt b/collects/tests/racket/embed-me5.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me5.rkt rename to collects/tests/racket/embed-me5.rkt diff --git a/collects/tests/mzscheme/embed-me6.rkt b/collects/tests/racket/embed-me6.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me6.rkt 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.rkt b/collects/tests/racket/embed-me9.rkt similarity index 100% rename from collects/tests/mzscheme/embed-me9.rkt rename to collects/tests/racket/embed-me9.rkt diff --git a/collects/tests/mzscheme/embed.rkt b/collects/tests/racket/embed.rkt similarity index 100% rename from collects/tests/mzscheme/embed.rkt rename to collects/tests/racket/embed.rkt From 28316d52059588b9d31595fa408325c4434ebf79 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 30 Apr 2010 21:55:14 -0600 Subject: [PATCH 7/9] change 'raco c-ext' to 'raco ctool' original commit: 81ba6692375b3f13aa1ab619020a467e6b8a2fd8 --- collects/compiler/commands/info.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/compiler/commands/info.rkt b/collects/compiler/commands/info.rkt index 732470021c..9a3106d696 100644 --- a/collects/compiler/commands/info.rkt +++ b/collects/compiler/commands/info.rkt @@ -7,4 +7,4 @@ ("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) - ("c-ext" compiler/commands/c-ext "compile and link C-based extensions" #f))) + ("ctool" compiler/commands/ctool "compile and link C-based extensions" #f))) From de349463061d3fb164995870bb77f3371cfb425e Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 1 May 2010 09:57:07 -0600 Subject: [PATCH 8/9] use .rktl suffix for files meant to be 'load'ed original commit: e504acb72622f4668a50770476fc7545ef9450b0 --- collects/tests/racket/{embed-me4.rkt => embed-me4.rktl} | 0 collects/tests/racket/{embed.rkt => embed.rktl} | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename collects/tests/racket/{embed-me4.rkt => embed-me4.rktl} (100%) rename collects/tests/racket/{embed.rkt => embed.rktl} (99%) diff --git a/collects/tests/racket/embed-me4.rkt b/collects/tests/racket/embed-me4.rktl similarity index 100% rename from collects/tests/racket/embed-me4.rkt rename to collects/tests/racket/embed-me4.rktl diff --git a/collects/tests/racket/embed.rkt b/collects/tests/racket/embed.rktl similarity index 99% rename from collects/tests/racket/embed.rkt rename to collects/tests/racket/embed.rktl index 9b835a68d7..06fd331cb4 100644 --- a/collects/tests/racket/embed.rkt +++ b/collects/tests/racket/embed.rktl @@ -1,5 +1,5 @@ -(load-relative "loadtest.rkt") +(load-relative "loadtest.rktl") (Section 'embed) From c9e6b6cd0ab54eaf02dd874c595598e46f2ed755 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 10 May 2010 06:27:57 -0600 Subject: [PATCH 9/9] have 'raco make' require an argument so that it doesn't silently do nothing when no files are supplied original commit: 68fee973deef0c4e0d66002d012c10a7723662cf --- collects/compiler/commands/make.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/compiler/commands/make.rkt b/collects/compiler/commands/make.rkt index 20b8ea9c5f..57ae63c1c4 100644 --- a/collects/compiler/commands/make.rkt +++ b/collects/compiler/commands/make.rkt @@ -30,7 +30,7 @@ [("--vv") "Very verbose mode" (verbose #t) (very-verbose #t)] - #:args file file)) + #:args (file . another-file) (cons file another-file))) (if (disable-deps) ;; Just compile one file: