mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
Add --r6rs and --r7rs options to "guild compile"
* module/scripts/compile.scm (%options, compile): Add --r6rs and --r7rs options. * doc/ref/api-evaluation.texi (Compilation): Add docs.
This commit is contained in:
parent
82127b3ad9
commit
0f61d8d797
2 changed files with 26 additions and 5 deletions
|
@ -686,6 +686,12 @@ more important than the speed of the compiled code. Pass
|
||||||
of @code{-O} options can be passed to the compiler, with later ones
|
of @code{-O} options can be passed to the compiler, with later ones
|
||||||
taking precedence.
|
taking precedence.
|
||||||
|
|
||||||
|
@item --r6rs
|
||||||
|
@itemx --r7rs
|
||||||
|
Compile in an environment whose default bindings, reader options, and
|
||||||
|
load paths are adapted for specific Scheme standards. @xref{R6RS
|
||||||
|
Support}, and @xref{R7RS Support}.
|
||||||
|
|
||||||
@item -f @var{lang}
|
@item -f @var{lang}
|
||||||
@itemx --from=@var{lang}
|
@itemx --from=@var{lang}
|
||||||
Use @var{lang} as the source language of @var{file}. If this option is omitted,
|
Use @var{lang} as the source language of @var{file}. If this option is omitted,
|
||||||
|
|
|
@ -68,6 +68,12 @@
|
||||||
(if (assoc-ref result 'output-file)
|
(if (assoc-ref result 'output-file)
|
||||||
(fail "`-o' option cannot be specified more than once")
|
(fail "`-o' option cannot be specified more than once")
|
||||||
(alist-cons 'output-file arg result))))
|
(alist-cons 'output-file arg result))))
|
||||||
|
(option '("r6rs") #f #f
|
||||||
|
(lambda (opt name arg result)
|
||||||
|
(alist-cons 'install-r6rs? #t result)))
|
||||||
|
(option '("r7rs") #f #f
|
||||||
|
(lambda (opt name arg result)
|
||||||
|
(alist-cons 'install-r7rs? #t result)))
|
||||||
(option '(#\x) #t #f
|
(option '(#\x) #t #f
|
||||||
(lambda (opt name arg result)
|
(lambda (opt name arg result)
|
||||||
(set! %load-extensions (cons arg %load-extensions))
|
(set! %load-extensions (cons arg %load-extensions))
|
||||||
|
@ -192,9 +198,8 @@ There is NO WARRANTY, to the extent permitted by law.~%"))
|
||||||
(input-files (assoc-ref options 'input-files))
|
(input-files (assoc-ref options 'input-files))
|
||||||
(output-file (assoc-ref options 'output-file))
|
(output-file (assoc-ref options 'output-file))
|
||||||
(load-path (assoc-ref options 'load-path)))
|
(load-path (assoc-ref options 'load-path)))
|
||||||
(if (or help? (null? input-files))
|
(when (or help? (null? input-files))
|
||||||
(begin
|
(format #t "Usage: compile [OPTION] FILE...
|
||||||
(format #t "Usage: compile [OPTION] FILE...
|
|
||||||
Compile each Guile source file FILE into a Guile object.
|
Compile each Guile source file FILE into a Guile object.
|
||||||
|
|
||||||
-h, --help print this help message
|
-h, --help print this help message
|
||||||
|
@ -208,6 +213,11 @@ Compile each Guile source file FILE into a Guile object.
|
||||||
-O, --optimize=OPT specify optimization passes to run; use `-Ohelp'
|
-O, --optimize=OPT specify optimization passes to run; use `-Ohelp'
|
||||||
for a list of available optimizations
|
for a list of available optimizations
|
||||||
|
|
||||||
|
--r6rs, --r7rs compile in an environment whose default bindings,
|
||||||
|
reader options, and load paths are adapted for
|
||||||
|
specific Scheme standards; see \"R6RS Support\"
|
||||||
|
and \"R7RS Support\" in the manual, for full details
|
||||||
|
|
||||||
-f, --from=LANG specify a source language other than `scheme'
|
-f, --from=LANG specify a source language other than `scheme'
|
||||||
-t, --to=LANG specify a target language other than `bytecode'
|
-t, --to=LANG specify a target language other than `bytecode'
|
||||||
-T, --target=TRIPLET produce bytecode for host TRIPLET
|
-T, --target=TRIPLET produce bytecode for host TRIPLET
|
||||||
|
@ -215,8 +225,13 @@ Compile each Guile source file FILE into a Guile object.
|
||||||
Note that auto-compilation will be turned off.
|
Note that auto-compilation will be turned off.
|
||||||
|
|
||||||
Report bugs to <~A>.~%"
|
Report bugs to <~A>.~%"
|
||||||
%guile-bug-report-address)
|
%guile-bug-report-address)
|
||||||
(exit 0)))
|
(exit 0))
|
||||||
|
|
||||||
|
(when (assoc-ref options 'install-r6rs?)
|
||||||
|
(install-r6rs!))
|
||||||
|
(when (assoc-ref options 'install-r7rs?)
|
||||||
|
(install-r7rs!))
|
||||||
|
|
||||||
;; Load FROM and TO before we have changed the load path. That way, when
|
;; Load FROM and TO before we have changed the load path. That way, when
|
||||||
;; cross-compiling Guile itself, we can be sure we're loading our own
|
;; cross-compiling Guile itself, we can be sure we're loading our own
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue