summary refs log tree commit diff
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