parent
a0837b2453
commit
f2dbacc73f
|
@ -89,19 +89,23 @@
|
||||||
#:mred? (gui)
|
#:mred? (gui)
|
||||||
#:variant (if (3m) '3m 'cgc)
|
#:variant (if (3m) '3m 'cgc)
|
||||||
#:verbose? (very-verbose)
|
#:verbose? (very-verbose)
|
||||||
#:modules (cons `(#%mzc: (file ,source-file))
|
#:modules (cons `(#%mzc: (file ,source-file) (main))
|
||||||
(map (lambda (l) `(#t (lib ,l)))
|
(map (lambda (l) `(#t (lib ,l)))
|
||||||
(exe-embedded-libraries)))
|
(exe-embedded-libraries)))
|
||||||
#:configure-via-first-module? #t
|
#:configure-via-first-module? #t
|
||||||
#:literal-expression
|
#:literal-expression
|
||||||
(parameterize ([current-namespace (make-base-namespace)])
|
(parameterize ([current-namespace (make-base-namespace)])
|
||||||
|
(define mod-sym (string->symbol
|
||||||
|
(format "#%mzc:~a"
|
||||||
|
(let-values ([(base name dir?)
|
||||||
|
(split-path source-file)])
|
||||||
|
(path->bytes (path-replace-suffix name #""))))))
|
||||||
|
(define main-sym (string->symbol (format "~a(main)" mod-sym)))
|
||||||
(compile
|
(compile
|
||||||
`(namespace-require
|
`(begin
|
||||||
'',(string->symbol
|
(namespace-require '',mod-sym)
|
||||||
(format "#%mzc:~a"
|
(when (module-declared? '',main-sym)
|
||||||
(let-values ([(base name dir?)
|
(dynamic-require '',main-sym #f)))))
|
||||||
(split-path source-file)])
|
|
||||||
(path->bytes (path-replace-suffix name #""))))))))
|
|
||||||
#:cmdline (exe-embedded-flags)
|
#:cmdline (exe-embedded-flags)
|
||||||
#:collects-path (exe-embedded-collects-path)
|
#:collects-path (exe-embedded-collects-path)
|
||||||
#:collects-dest (exe-embedded-collects-dest)
|
#:collects-dest (exe-embedded-collects-dest)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#lang racket/base
|
#lang racket/base
|
||||||
(require (submod "embed-me15-one.rkt" one))
|
(require (submod "embed-me15-one.rkt" one))
|
||||||
(printf "This is ~a.\n" (+ 9 one two three))
|
(with-output-to-file "stdout"
|
||||||
|
(lambda () (printf "This is ~a.\n" (+ 9 one two three)))
|
||||||
|
#:exists 'append)
|
||||||
|
|
7
collects/tests/racket/embed-me16.rkt
Normal file
7
collects/tests/racket/embed-me16.rkt
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#lang racket/base
|
||||||
|
|
||||||
|
;; a `main' submodule:
|
||||||
|
(module main racket/base
|
||||||
|
(with-output-to-file "stdout"
|
||||||
|
(lambda () (printf "This is 16.\n"))
|
||||||
|
#:exists 'append))
|
|
@ -223,7 +223,7 @@
|
||||||
(one-mz-test "embed-me2.rkt" "This is 1\nThis is 2: #t\n" #t)
|
(one-mz-test "embed-me2.rkt" "This is 1\nThis is 2: #t\n" #t)
|
||||||
(one-mz-test "embed-me13.rkt" "This is 14\n" #f)
|
(one-mz-test "embed-me13.rkt" "This is 14\n" #f)
|
||||||
(one-mz-test "embed-me14.rkt" "This is 14\n" #f)
|
(one-mz-test "embed-me14.rkt" "This is 14\n" #f)
|
||||||
(one-mz-test "embed-me15.rkt" "This is 15\n" #f)
|
(one-mz-test "embed-me15.rkt" "This is 15.\n" #f)
|
||||||
|
|
||||||
;; Try unicode expr and cmdline:
|
;; Try unicode expr and cmdline:
|
||||||
(prepare dest "unicode")
|
(prepare dest "unicode")
|
||||||
|
@ -277,6 +277,14 @@
|
||||||
(path->string (build-path (collection-path "tests" "racket") "embed-me1.rkt")))
|
(path->string (build-path (collection-path "tests" "racket") "embed-me1.rkt")))
|
||||||
(try-exe (mk-dest mred?) "This is 1\n" mred?)
|
(try-exe (mk-dest mred?) "This is 1\n" mred?)
|
||||||
|
|
||||||
|
;; raco exe on a module with a `main' submodule
|
||||||
|
(system* raco
|
||||||
|
"exe"
|
||||||
|
"-o" (path->string (mk-dest mred?))
|
||||||
|
(if mred? "--gui" "--")
|
||||||
|
(path->string (build-path (collection-path "tests" "racket") "embed-me16.rkt")))
|
||||||
|
(try-exe (mk-dest mred?) "This is 16.\n" mred?)
|
||||||
|
|
||||||
;;raco exe --launcher
|
;;raco exe --launcher
|
||||||
(system* raco
|
(system* raco
|
||||||
"exe"
|
"exe"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user