parent
a0837b2453
commit
f2dbacc73f
|
@ -89,19 +89,23 @@
|
|||
#:mred? (gui)
|
||||
#:variant (if (3m) '3m 'cgc)
|
||||
#:verbose? (very-verbose)
|
||||
#:modules (cons `(#%mzc: (file ,source-file))
|
||||
#:modules (cons `(#%mzc: (file ,source-file) (main))
|
||||
(map (lambda (l) `(#t (lib ,l)))
|
||||
(exe-embedded-libraries)))
|
||||
#:configure-via-first-module? #t
|
||||
#:literal-expression
|
||||
(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
|
||||
`(namespace-require
|
||||
'',(string->symbol
|
||||
(format "#%mzc:~a"
|
||||
(let-values ([(base name dir?)
|
||||
(split-path source-file)])
|
||||
(path->bytes (path-replace-suffix name #""))))))))
|
||||
`(begin
|
||||
(namespace-require '',mod-sym)
|
||||
(when (module-declared? '',main-sym)
|
||||
(dynamic-require '',main-sym #f)))))
|
||||
#:cmdline (exe-embedded-flags)
|
||||
#:collects-path (exe-embedded-collects-path)
|
||||
#:collects-dest (exe-embedded-collects-dest)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#lang racket/base
|
||||
(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-me13.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:
|
||||
(prepare dest "unicode")
|
||||
|
@ -277,6 +277,14 @@
|
|||
(path->string (build-path (collection-path "tests" "racket") "embed-me1.rkt")))
|
||||
(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
|
||||
(system* raco
|
||||
"exe"
|
||||
|
|
Loading…
Reference in New Issue
Block a user