summaryrefslogtreecommitdiff
path: root/module/scripts/compile.scm
AgeCommit message (Collapse)AuthorFilesLines
2020-01-13Bump user-visible copyright years to 2020Andy Wingo1-2/+2
* module/ice-9/command-line.scm (version-etc): * module/scripts/compile.scm (show-version): Bump to 2020.
2019-12-02Add --r6rs and --r7rs options to "guild compile"Andy Wingo1-5/+20
* module/scripts/compile.scm (%options, compile): Add --r6rs and --r7rs options. * doc/ref/api-evaluation.texi (Compilation): Add docs.
2018-08-07compile: Update copyright year.Ludovic Courtès1-1/+1
* module/scripts/compile.scm (show-version): Update copyright year.
2018-08-07compile: Improve error message.Ludovic Courtès1-1/+1
* module/scripts/compile.scm (parse-args): Add missing newline in "unrecognized option" message.
2018-08-07compile: Add '-x' flag.Ludovic Courtès1-0/+5
* module/scripts/compile.scm (%options, compile): Add '-x'. * doc/ref/api-evaluation.texi (Compilation): Document it.
2018-08-07compile: Load language modules upfront.Ludovic Courtès1-1/+9
Fixes a bug whereby "guild compile --target=arm-linux-gnueabihf --from=elisp ... language/elisp/boot.el" would fail with an exception from 'load-thunk-from-memory' while trying to load (language elisp spec) from the guile-being-compiled instead of using that of the guile-for-build. The problem did not manifest with --from=scheme because (language scheme spec) happened to be already loaded before we had changed %load-path. * module/scripts/compile.scm (compile): Add calls to 'lookup-language'.
2018-01-05Add (system base optimize) moduleAndy Wingo1-21/+5
* module/system/base/optimize.scm: New module. * module/Makefile.am (SOURCES): * am/bootstrap.am (SOURCES): Add new module. * module/language/tree-il/optimize.scm (tree-il-optimizations): Rename from tree-il-default-optimization-options. Directly specify the optimization level at which a pass should be enabled. * module/language/cps/optimize.scm (cps-optimizations): Likewise, rename from cps-default-optimization-options. * module/scripts/compile.scm (%options, show-optimization-help): Adapt to use new module.
2015-10-22Wire up `guild compile -O0 foo.scm'Andy Wingo1-8/+69
* module/scripts/compile.scm (%options): Resurrect -O option and make it follow GCC, more or less. The default is equivalent to -O2. * module/language/cps/compile-bytecode.scm (lower-cps): * module/language/cps/optimize.scm (optimize-higher-order-cps): Move split-rec to run unconditionally for now, as closure conversion fails without it. (define-optimizer): Only verify the result if we are debugging, to save time. (cps-default-optimization-options): New exported procedure. * module/language/tree-il/optimize.scm (tree-il-default-optimization-options): New exported procedure.
2014-09-30Merge branch 'stable-2.0'Mark H Weaver1-1/+9
Conflicts: benchmark-suite/benchmarks/ports.bm libguile/async.h libguile/bytevectors.c libguile/foreign.c libguile/gsubr.c libguile/srfi-1.c libguile/vm-engine.h libguile/vm-i-scheme.c module/Makefile.am module/language/tree-il/analyze.scm module/language/tree-il/peval.scm module/scripts/compile.scm module/scripts/disassemble.scm test-suite/tests/asm-to-bytecode.test test-suite/tests/peval.test test-suite/tests/rdelim.test
2014-06-03'guild compile' doesn't leave temporary files behind it.Ludovic Courtès1-1/+9
* module/scripts/compile.scm (compile): Add 'sigaction' call. * test-suite/standalone/test-guild-compile: New file. * test-suite/standalone/Makefile.am (check_SCRIPTS, TESTS): Add it.
2013-12-02Rename "RTL" to "bytecode"Andy Wingo1-2/+2
"RTL" didn't make any sense, and now that there's no other bytecode to disambiguate against, just call it bytecode. * module/Makefile.am: * module/ice-9/eval-string.scm: * module/language/bytecode.scm: * module/language/bytecode/spec.scm: * module/language/cps/arities.scm: * module/language/cps/compile-bytecode.scm: * module/language/cps/compile-rtl.scm: * module/language/cps/contification.scm: * module/language/cps/elide-values.scm: * module/language/cps/primitives.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/spec.scm: * module/language/cps/specialize-primcalls.scm: * module/language/rtl.scm: * module/language/rtl/spec.scm: * module/scripts/compile.scm: * module/system/base/compile.scm: * module/system/repl/common.scm: * module/system/vm/assembler.scm: * module/system/vm/debug.scm: * module/system/vm/disassembler.scm: * module/system/vm/dwarf.scm: * test-suite/tests/cross-compilation.test: * test-suite/tests/dwarf.test: * test-suite/tests/rtl-compilation.test: * test-suite/tests/rtl.test: * test-suite/vm/run-vm-tests.scm: Fixups.
2013-11-08Miscellaneous fixups related to objcode removal.Andy Wingo1-1/+1
* module/scripts/compile.scm: Fix --help message. * module/system/repl/command.scm (disassemble): Fix error message. * module/system/vm/frame.scm: Remove objcode import. * module/system/vm/objcode.scm: Remove some exports related to the objcode type.
2013-10-31Default to compiling to RTLAndy Wingo1-2/+2
* module/ice-9/eval-string.scm (eval-string) * module/language/tree-il/spec.scm (tree-il) * module/scripts/compile.scm (compile) * module/system/base/compile.scm (compile-file, read-and-compile) * module/system/repl/common.scm (repl-compile, repl-prepare-eval-thunk): Default to compiling to RTL. * module/language/rtl/spec.scm (rtl->value): Add value compiler.
2011-11-22Add a `--target' option to `guild compile'.Ludovic Courtès1-7/+17
* module/scripts/compile.scm (%options)["--target"]: New option. (show-version): Update copyright year. (compile): Use `with-target' to install the target. * doc/ref/api-evaluation.texi (Compilation): Mention `--target' option.
2011-07-23more work on "guild list"Andy Wingo1-0/+2
* module/scripts/: Add %summary entries, and in many cases, %include-in-guild-list entries to inhibit a script from appearing in "guild list". Update list.scm to respect this new variable.
2011-02-13Add `*current-warning-prefix*'.Ludovic Courtès1-5/+6
* module/system/base/message.scm (*current-warning-prefix*): New variable. (%warning-types): Honor `*current-warning-prefix*'. * module/scripts/compile.scm (compile): Use an empty `*current-warning-prefix*'. * module/system/repl/common.scm (repl-compile): Likewise. * test-suite/tests/tree-il.test (call-with-warnings): Likewise.
2011-02-13autocompile -> auto-compileAndy Wingo1-3/+3
* NEWS: * check-guile.in: * doc/guile.1: * doc/ref/scheme-scripts.texi: * libguile/init.c: * libguile/load.c: * libguile/load.h: * libguile/script.c: * module/Makefile.am: * module/ice-9/boot-9.scm: * module/scripts/compile.scm: * module/system/base/compile.scm: * test-suite/Makefile.am: * test-suite/tests/popen.test: Change "autocompile" to "auto-compile" or "auto_compile", as appropriate, in variable names, function names, command line arguments, and the documentation.
2010-10-13Placate `-Wformat'.Ludovic Courtès1-2/+1
* module/scripts/compile.scm (fail): Use a fancy format string instead of a non-literal one.
2010-01-11Provide Guile-friendly `coding:' meta-data.Ludovic Courtès1-6/+2
* module/ice-9/i18n.scm, module/rnrs/bytevector.scm, module/rnrs/io/ports.scm, module/scripts/compile.scm, module/srfi/srfi-35.scm, module/srfi/srfi-88.scm: Write `coding:' comment at the top.
2009-08-15Add proper `--help' and `--version' for `guile-tools compile'.Ludovic Courtès1-2/+14
* configure.ac: Produce `meta/guile-tools'. * meta/Makefile.am (EXTRA_DIST): Add `guile-tools.in'. (bin_SCRIPTS): Remove `guile-tools'. * meta/uninstalled-env.in (PATH): Add "${top_builddir}/meta". * module/scripts/compile.scm (%options): Add `--version'. (parse-args): Show the offending option name upon error. (show-version): New. (compile): Use `%guile-bug-report-address'.
2009-07-31Add `(system base message)', a simple warning framework.Ludovic Courtès1-2/+32
* module/Makefile.am (SOURCES): Add `system/base/message.scm'. * module/scripts/compile.scm (%options): Add `--warn'. (parse-args): Update default value for `warnings'. (show-warning-help): New procedure. (compile)[compile-opts]: Add `#:warnings'. Update help message. * module/system/base/compile.scm (compile): Sanity-check the requested warnings. * module/system/base/message.scm: New file.
2009-06-17Complete changing license to LGPLv3+Neil Jerram1-7/+7
(Still guile-readline to do, but that will all be GPLv3+.)
2009-06-05disable autocompilation when running guile-tools compileAndy Wingo1-0/+3
* module/scripts/compile.scm (compile): Disable autocompilation when running guile-tools compile.
2009-04-20scripts take rest argsAndy Wingo1-2/+2
* meta/guile-tools: Instead of fixing scripts I should have been fixing the script runner. * module/scripts/compile.scm: * module/scripts/snarf-guile-m4-docs.scm: Fix to take rest args.
2009-04-17guile-tools is a scheme script that loads scheme modulesAndy Wingo1-0/+138
* meta/guile-tools: Changed to be a scheme script. Instead of looking for executables in a "scripts dir", we just look for modules in (scripts), and load the modules directly. * module/Makefile.am: * module/scripts/: Move the scripts into module/ so they can be compiled. Rename scripts from `foo' to `foo.scm'. * libguile/Makefile.am: Invoke the snarf->texi code via guile-tools. * configure.in: * .gitignore: Update for changes.