racket/collects/compiler/embed.rkt
2010-06-05 17:59:41 -06:00

57 lines
2.3 KiB
Racket

#lang racket/base
(require scheme/unit
scheme/contract)
(require "sig.ss")
(require "embed-unit.ss"
"embed-sig.ss")
(define-values/invoke-unit/infer compiler:embed@)
(provide/contract [make-embedding-executable
(->* (path-string?
any/c
any/c
(listof (list/c (or/c boolean? symbol?) any/c))
(listof path-string?)
any/c
(listof string?))
((listof (cons/c symbol? any/c))
any/c
symbol?)
void?)]
[create-embedding-executable
(->* (path-string?)
(#:modules
(listof (list/c (or/c symbol? #f #t)
(or/c path? module-path?)))
#:configure-via-first-module? any/c
#:literal-files (listof path-string?)
#:literal-expression any/c
#:literal-expressions (listof any/c)
#:cmdline (listof string?)
#:gracket? any/c
#:mred? any/c
#:variant (or/c '3m 'cgc)
#:aux (listof (cons/c symbol? any/c))
#:collects-path (or/c #f
path-string?
(listof path-string?))
#:collects-dest (or/c #f path-string?)
#:launcher? any/c
#:verbose? any/c
#:compiler (-> any/c compiled-expression?)
#:expand-namespace namespace?
#:src-filter (-> path? any)
#:on-extension (or/c #f (-> path-string? boolean? any))
#:get-extra-imports (-> path? compiled-module-expression? (listof module-path?)))
void?)])
(provide write-module-bundle
embedding-executable-is-directory?
embedding-executable-is-actually-directory?
embedding-executable-put-file-extension+style+filters
embedding-executable-add-suffix)