summaryrefslogtreecommitdiff
path: root/guilec.am
diff options
context:
space:
mode:
authorLudovic Courtès2012-05-14 23:45:38 +0200
committerLudovic Courtès2012-05-14 23:45:38 +0200
commit196a4f8ac0f12d9193d14d9d9fa9ced8f9420b9c (patch)
tree59215297dc8840492064f953443d29a87a671f63 /guilec.am
parentbb3c6d7d580aac172a44000625c46ec0ee7baea8 (diff)
downloadskribilo-196a4f8ac0f12d9193d14d9d9fa9ced8f9420b9c.tar.gz
skribilo-196a4f8ac0f12d9193d14d9d9fa9ced8f9420b9c.tar.lz
skribilo-196a4f8ac0f12d9193d14d9d9fa9ced8f9420b9c.zip
Mention "Guile 2.0" instead of "Guile-VM".
* configure.ac: Remove `--enable-guile-vm' option. Check for `guild' and `guile-tools', defining `GUILD'. Rename `ENABLE_GUILE_VM' to `HAVE_GUILE2'. * guile-vm.am: Rename to... * guilec.am: ... this. * doc/modules/Makefile.am, src/guile/Makefile.am: Update accordingly.
Diffstat (limited to 'guilec.am')
-rw-r--r--guilec.am48
1 files changed, 48 insertions, 0 deletions
diff --git a/guilec.am b/guilec.am
new file mode 100644
index 0000000..2eb5804
--- /dev/null
+++ b/guilec.am
@@ -0,0 +1,48 @@
+
+# Compilation with Guile-VM's compiler (aka. Guile 2.x).
+
+if HAVE_GUILE2
+
+# XXX: This expression relies on a GNU extension.
+GOBJECTS = $(SOURCES:%.scm=%.go)
+
+nobase_dist_module_DATA = $(SOURCES) $(SOURCES_NOT_COMPILED)
+nobase_nodist_module_DATA = $(GOBJECTS)
+
+# Compiler warnings.
+guile_warnings = \
+ unused-variable unused-toplevel unbound-variable arity-mismatch \
+ format
+
+.scm.go:
+ $(MKDIR_P) `dirname $@`
+ GUILE_AUTO_COMPILE=0 \
+ GUILE_LOAD_COMPILED_PATH="$(builddir):$(top_builddir)/src/guile:$$GUILE_LOAD_COMPILED_PATH" \
+ $(GUILE) -L "$(srcdir)" -L "$(top_srcdir)/src/guile" \
+ -c "(use-modules (system base compile) \
+ (system base message) \
+ (skribilo condition)) \
+ (with-fluids ((*current-warning-prefix* \"\")) \
+ (call-with-skribilo-error-catch/exit \
+ (lambda () \
+ (compile-file \"$<\" #:output-file \"$@\" \
+ #:opts '(#:warnings ($(guile_warnings)))))))"
+
+CLEANFILES += $(GOBJECTS)
+
+SUFFIXES += .go
+
+# Make sure source files are installed first, so that the mtime of
+# installed compiled files is greater than that of installed source
+# files. See
+# <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html>
+# for details.
+skr_install_go_files = install-nobase_nodist_moduleDATA
+$(skr_install_go_files): install-nobase_dist_moduleDATA
+
+else !HAVE_GUILE2
+
+nobase_dist_module_DATA = $(SOURCES) $(SOURCES_NOT_COMPILED)
+nobase_nodist_module_DATA =
+
+endif !HAVE_GUILE2