summaryrefslogtreecommitdiff
path: root/am
Commit message (Collapse)AuthorAgeFilesLines
* Add handle-interrupts inst and compiler passAndy Wingo2016-11-161-0/+1
| | | | | | | | | | | | * libguile/vm-engine.c (vm_engine): Remove initial VM_HANDLE_INTERRUPTS call; surely our caller already handled interrupts. Add handle-interrupts opcode. * am/bootstrap.am (SOURCES): * module/Makefile.am (SOURCES): Add handle-interrupts.scm. * module/system/vm/assembler.scm (system): * module/language/cps/compile-bytecode.scm (compile-function): (lower-cps): Add handle-interrupts support. * module/language/cps/handle-interrupts.scm: New file.
* Add meta/build-envAndy Wingo2016-07-102-3/+3
| | | | | | | | | | | | | * meta/build-env.in: New file which sets up an environment that does not inherit GUILE_LOAD_PATH / GUILE_LOAD_COMPILED_PATH (unless cross-compiling). * doc/ref/Makefile.am (autoconf-macros.texi): * libguile/Makefile.am (snarf2checkedtexi): * module/Makefile.am (ice-9/psyntax-pp.go): * test-suite/standalone/Makefile.am (GUILE_INSTALL_LOCALE): * am/bootstrap.am (.scm.go): * am/guilec (.scm.go): Use build-env. * configure.ac: Create build-env.
* Add -Wmacro-use-before-definitionAndy Wingo2016-06-251-1/+1
| | | | | | | | | | | | | * module/ice-9/boot-9.scm (%auto-compilation-options): * am/guilec (GUILE_WARNINGS): Add -Wmacro-use-before-definition. * module/language/tree-il/analyze.scm (unbound-variable-analysis): Use match-lambda. (<macro-use-info>, macro-use-before-definition-analysis): New analysis. * module/system/base/message.scm (%warning-types): Add macro-use-before-definition warning type. * module/language/tree-il/compile-cps.scm (%warning-passes): Add support for macro-use-before-definition.
* Load port bindings in separate (ice-9 ports) moduleAndy Wingo2016-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * module/ice-9/ports.scm: New file. * am/bootstrap.am (SOURCES): Add ice-9/ports.scm. * libguile/fports.c (scm_init_ice_9_fports): New function. (scm_init_fports): Arrange for scm_init_ice_9_fports to be called via load-extension, and load snarfed things there. Move open-file definition early, to allow ports to bootstrap. * libguile/ioext.c (scm_init_ice_9_ioext): New function. (scm_init_ioext): Similarly, register scm_init_ice_9_ioext as an extension. * libguile/ports.c (scm_set_current_input_port) (scm_set_current_output_port, scm_set_current_error_port): Don't define Scheme bindings; do that in Scheme. * libguile/ports.c (scm_i_set_default_port_encoding): (scm_i_default_port_encoding, scm_i_default_port_conversion_handler): (scm_i_set_default_port_conversion_handler): Since we now init encoding early, remove the "init" flags on these encoding/strategy vars. (scm_init_ice_9_ports): New function. (scm_init_ports): Register scm_init_ice_9_ports extension, and define some bindings needed by the bootstrap. * module/Makefile.am (SOURCES): Add ice-9/ports.scm. * module/ice-9/boot-9.scm: Remove code that's not on the boot path, moving it to ice-9/ports.scm. At the end, load (ice-9 ports). * module/ice-9/psyntax.scm (include): Use close-port instead of close-input-port. * module/ice-9/psyntax-pp.scm (include): Regenerate.
* Distribute prebuilt bootstraps for common hostsAndy Wingo2016-01-291-0/+153
| | | | | | | | | | | | | | | | | * am/bootstrap.am: New file, factored out of bootstrap/Makefile.am. * bootstrap/Makefile.am: Use bootstrap.am. * prebuilt/Makefile.am: * prebuilt/i686-pc-linux-gnu/Makefile.am: * prebuilt/mips-unknown-linux-gnu/Makefile.am: * prebuilt/x86_64-unknown-linux-gnu/Makefile.am: New files. * configure.ac: Output the prebuilt/ makefiles. * Makefile.am: Descend into prebuilt/ when making dist. * meta/uninstalled-env.in: Arrange to put prebuilt/ in the beginning of the GUILE_LOAD_COMPILED_PATH. Also fix a case where bootstrap/ wasn't being correctly added to the load path.
* Merge branch 'bt/elisp'BT Templeton2012-03-051-5/+14
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: am/guilec libguile/_scm.h libguile/vm-i-scheme.c module/language/elisp/compile-tree-il.scm module/language/elisp/runtime.scm module/language/elisp/runtime/macros.scm module/language/tree-il/compile-glil.scm module/language/tree-il/primitives.scm
| * load boot.elBT Templeton2011-11-221-5/+11
| | | | | | | | | | | | | | * am/guilec: Add support for compiling Elisp files. * module/Makefile.am: New variable ELISP_SOURCES. * module/language/elisp/boot.el: New file. * module/language/elisp/spec.scm: Load boot.el.
* | Allow $GUILE_FOR_BUILD to use its own environment when cross-compiling.Ludovic Courtès2011-11-231-2/+5
|/ | | | | | | | | * am/guilec (.scm.go): Use `-L' to specify the search path. * module/Makefile.am (ice-9/psyntax-pp.go): Likewise. * meta/uninstalled-env.in (top_builddir): Leave $GUILE_LOAD_PATH, $GUILE_SYSTEM_PATH, and $GUILE_SYSTEM_EXTENSIONS_PATH unchanged when cross-compiling.
* Run `guild compile' with `--target=$(host)'.Ludovic Courtès2011-11-221-1/+1
| | | | * am/guilec (.scm.go): Run `guild compile' with `--target=$(host)'.
* rename `guile-tools' to `guild'Andy Wingo2011-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Look for ln -s. Write out `guild' instead of `guile-tools'. * meta/Makefile.am (install-data-hook): Link the installed `guild' to the backward-compatible `guile-tools' name. (bin_SCRIPTS, EXTRA_DIST): Fix up for guild change. * meta/guild.in: Moved here from `guile-tools.in'. * doc/ref/Makefile.am (autoconf-macros.texi): * doc/ref/api-evaluation.texi (Compilation): * doc/ref/autoconf.texi (Autofrisk, Using Autofrisk): * doc/ref/mod-getopt-long.texi (getopt-long Reference): * doc/ref/tools.texi (Miscellaneous Tools, Executable Modules): Minimal doc update. * .gitignore: * am/guilec (.scm.go): * libguile/Makefile.am (snarf2checkedtexi): * module/Makefile.am (ice-9/psyntax-pp.go): Update makefiles, etc. * module/scripts/README: * module/scripts/lint.scm: * module/scripts/list.scm: Update commentaries.
* Inline the effect of am/pre-inst-guileNeil Jerram2011-03-252-34/+1
| | | | | | | | | | | | | | | | | It's just one variable definition, and in my opinion it confuses, rather than helps, the overall build picture to have two names (preinstguile and meta/guile) for the same thing. * am/Makefile.am (am_frags): Remove pre-inst-guile. * am/pre-inst-guile: Deleted. * doc/ref/Makefile.am: Don't include am/pre-inst-guile. ($(snarf_doc).am, $(snarf_doc).texi): Expand $(preinstguile). * module/Makefile.am (ice-9/psyntax-pp.scm.gen): Don't include am/pre-inst-guile. (ice-9/psyntax-pp.scm.gen): Expand $(preinstguile).
* Remove unused definition of preinstguiletoolNeil Jerram2011-03-251-4/+3
| | | | * am/pre-inst-guile (preinstguiletool): Removed.
* Compile with `-Wformat'.Ludovic Courtès2010-10-101-1/+1
| | | | * am/guilec (GUILE_WARNINGS): Add `-Wformat'.
* Create tags for Scheme sourceNeil Jerram2010-09-121-0/+1
| | | | | | | * am/guilec: Set ETAGS_ARGS. * module/Makefile.am: When adding sources to EXTRA_DIST, add them to ETAGS_ARGS too.
* Revert "don't autocompile while snarfing"Andy Wingo2010-08-271-1/+1
| | | | | This reverts commit 176ee5c82a9e6c775722cfe96711f2a02cdb7672, which added autocomp inhibitions in the wrong place.
* don't autocompile while snarfingAndy Wingo2010-08-271-1/+1
| | | | | * am/snarf (GUILE_SNARF): Don't autocompile while snarfing, as we probably don't have a compiled Guile at this point.
* Check for go/scm mtime ordering rather than equality.Ludovic Courtès2010-07-261-18/+7
| | | | | | | | | | | | | | * am/guilec (install-data-hook): Remove. (guile_install_go_files): New variable. ($(guile_install_go_files)): New dependency. * libguile/load.c (compiled_is_fresh): Check for ordering of STAT_SOURCE and STAT_COMPILED, not equality. * module/ice-9/boot-9.scm (load): Ditto. * module/system/base/compile.scm (call-with-output-file/atomic): Don't set the timestamp of TEMPLATE.
* Use AM_SILENT_RULES to pare down build output, ignore auto-generated filesNo Itisnt2010-06-182-1/+12
| | | | | | | | | | | * .gitignore: Ignore extra gnulib headers. * am/snarf: Silent SNARF command * am/guilec: Silent GUILEC command * configure.ac: Use AM_SILENT_RULES when available * guile-readline/Makefile.am: * libguile/Makefile.am: * srfi/Makefile.am: * test-suite/standalone/Makefile.am: Silence snarf output
* Compile with `-Warity-mismatch'.Ludovic Courtès2009-11-081-1/+3
| | | | | * am/guilec (GUILE_WARNINGS): New variable; add `-Warity-mismatch'. (.scm.go): Use it.
* Compile Guile modules with `-Wunbound-variable'.Ludovic Courtès2009-10-221-1/+3
| | | | * am/guilec (.scm.go): Compile with `-Wunbound-variable'.
* Change Guile license to LGPLv3+Neil Jerram2009-06-173-18/+18
| | | | | | | | | | (Not quite finished, the following will be done tomorrow. module/srfi/*.scm module/rnrs/*.scm module/scripts/*.scm testsuite/*.scm guile-readline/* )
* propagate timestamps to installed .scm and .go filesAndy Wingo2009-06-041-0/+19
| | | | | * am/guilec: Propagate timestamps of .scm and .go files on to their installed variants. Helps the is-the-.go-file-stale? code do its job.
* fix .go installationAndy Wingo2009-06-041-1/+1
| | | | * am/guilec (nobase_ccache_DATA): Fix .go installation.
* implement autocompilationAndy Wingo2009-06-031-2/+1
| | | | | | | | | | | | | * am/guilec (.scm.go): Set GUILE_AUTO_COMPILE=0 when compiling individual files, and remove the mkdir -p as compile-file takes care of that now. * libguile/load.c (do_try_autocompile, autocompile_catch_handler) (scm_try_autocompile, scm_init_load): Implement autocompilation. * libguile/script.c (scm_shell_usage, scm_compile_shell_switches): Add --autocompile / --no-autocompile command-line options, and support for the GUILE_AUTO_COMPILE environment variable, defaulting to autocompilation enabled.
* install .go files under $libdir, not $datadirAndy Wingo2009-06-031-1/+3
| | | | | * am/guilec: Install .go files to $(pkglibdir)/$GUILE_EFFECTIVE_VERSION/ccache.
* rely on getrlimit to DTRT, don't make stack calibration fileAndy Wingo2009-03-271-3/+1
| | | | | | | | | | | | | | * libguile/measure-hwm.scm: Remove. * .gitignore: Update for removal. * test-suite/standalone/test-fast-slot-ref.in: * test-suite/standalone/test-use-srfi.in: * am/guilec: * check-guile.in: Revert back to normal guile invocation. * libguile/Makefile.am: Don't make a stack calibration file, as the getrlimit-based limit setting should work fine.
* allow building against uninstalled guile; move some things to meta/Andy Wingo2009-03-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * README: Add more info about building against an uninstalled Guile. * meta/: New directory. The proximate cause of its creation is that I want to be able to build external packages against uninstalled Guile, and to do that I need guile-tools in the PATH, but I don't want $top_builddir/libtool in the path. But it seems like a good reorganization, for things that are /about/ Guile: pkg-config files, m4 files, guile-config... then we also include uninstalled info: the environment, the pre-inst-guile script, etc. * meta/guile-1.8-uninstalled.pc.in: New pkg-config template. pkg-config prefers -uninstalled pkg-config files, if they are in its path. * meta/Makefile.am: * meta/ChangeLog-2008: * meta/gdb-uninstalled-guile.in: * meta/guile-1.8.pc.in: * meta/guile-config.in: * meta/guile.m4: * meta/guile-tools.in: Moved to meta/. * meta/guile.in: This is the new name of pre-inst-guile.in. * meta/uninstalled-env.in: And this, pre-inst-guile-env.in. * Makefile.am: * am/guilec: * am/pre-inst-guile: * check-guile.in: * configure.in: * doc/ref/Makefile.am: * gc-benchmarks/run-benchmark.scm: * test-suite/standalone/Makefile.am: * test-suite/standalone/README: * testsuite/Makefile.am: Adapt to meta/ change.
* Run the stack calibration script before running the compiler.Ludovic Courtès2009-03-261-1/+3
| | | | | | | | | | | | | * am/guilec (.scm.go): Use `pre-inst-guile' and load `stack-limit-calibration.scm'. This is particularly useful when building the first `.go' files where the compiler is run using the interpreter, which may end up using a lot of stack space. * libguile/Makefile.am (BUILT_SOURCES): Add `stack-limit-calibration.scm'. (TESTS, TESTS_ENVIRONMENT): Remove. (stack-limit-calibration.scm): Prepend `-' so that any errors during the calibration are ignored.
* Aggregate makefiles for `module/system' and `module/language'.Ludovic Courtès2009-02-241-0/+1
| | | | | | | | | | | | | | | * am/guilec (.scm.go): Create the target's directory, in case $(builddir) != $(srcdir). * configure.in: Don't output any makefile under `module/system' or `module/language'. * module/Makefile.am (SUBDIRS): Remove `language' and `system'. Add `.' to the front. (modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES, GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES, BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New variables, taken from former `Makefile.am' files in sub-directories.
* use nobase in am/guilecAndy Wingo2009-02-241-1/+2
| | | | | * am/guilec (nobase_mod_DATA): Use nobase_mod_DATA so we install to the correct dir for foo/bar.scm.
* Fix `.go' compilation for $(builddir) != $(srcdir).Ludovic Courtès2009-02-211-1/+1
| | | | | * am/guilec (.scm.go): Use "-o $@" to make sure the output file ends up in $(builddir).
* move guilec.mk to am/guilecAndy Wingo2008-11-012-1/+12
| | | | | | | * am/Makefile.am: * am/guilec: guilec moved here from /guilec.mk. All includers of guilec adapted.
* Add `ChangeLog-2008' files to the distribution.Ludovic Courtès2008-09-121-2/+2
|
* Rename `ChangeLog' files to `ChangeLog-2008'.Ludovic Courtès2008-09-121-0/+0
|
* Remove `.cvsignore' files.Ludovic Courtès2008-09-111-2/+0
|
* merge from 1.8 branchKevin Ryde2006-04-173-3/+3
|
* The FSF has a new address.Marius Vollmer2005-05-233-6/+6
|
* *** empty log message ***Rob Browning2002-04-111-0/+4
|
* * .cvsignore: add Makefile and Makefile.in.Rob Browning2002-04-111-0/+2
|
* *** empty log message ***Thien-Thi Nguyen2002-04-011-0/+4
|
* Remove "if MAINTAINER_MODE" conditional.Thien-Thi Nguyen2002-04-011-3/+0
|
* *** empty log message ***Thien-Thi Nguyen2002-03-311-0/+6
|
* (am_frags): Add "maintainer-dirs".Thien-Thi Nguyen2002-03-311-1/+1
|
* Initial revisionThien-Thi Nguyen2002-03-311-0/+37
|
* *** empty log message ***Thien-Thi Nguyen2002-02-261-0/+4
|
* Initial revisionThien-Thi Nguyen2002-02-263-0/+65