summaryrefslogtreecommitdiff
path: root/guile-vm.am
diff options
context:
space:
mode:
authorLudovic Courtès2009-03-24 23:28:06 +0100
committerLudovic Courtès2009-03-24 23:28:58 +0100
commitf37487368372c5ab6207e756b4b4ae89c6d145c3 (patch)
treeb9097bfdc18502f1c8bad33c8ca630fba20f54f5 /guile-vm.am
parent3a72d5b1cf38fc3c579336e76e2b0354dcd4c4ae (diff)
downloadskribilo-f37487368372c5ab6207e756b4b4ae89c6d145c3.tar.gz
skribilo-f37487368372c5ab6207e756b4b4ae89c6d145c3.tar.lz
skribilo-f37487368372c5ab6207e756b4b4ae89c6d145c3.zip
Add experimental `--enable-guile-vm' configure option.
* configure.ac (--enable-guile-vm): New option. (ENABLE_GUILE_VM): New Automake conditional. * guile-vm.am: New file. * src/guile/Makefile.am (SOURCES): New variable, formerly `nobase_dist_module_DATA'. (SOURCES_NOT_COMPILED): New. Include `guile-vm.am'. * NEWS: Update.
Diffstat (limited to 'guile-vm.am')
-rw-r--r--guile-vm.am30
1 files changed, 30 insertions, 0 deletions
diff --git a/guile-vm.am b/guile-vm.am
new file mode 100644
index 0000000..14b146f
--- /dev/null
+++ b/guile-vm.am
@@ -0,0 +1,30 @@
+# Compilation with Guile-VM's compiler (aka. Guile 2.x).
+
+if ENABLE_GUILE_VM
+
+# XXX: This expression relies on a GNU extension.
+GOBJECTS = $(SOURCES:%.scm=%.go)
+
+nobase_nodist_module_DATA = \
+ $(SOURCES) $(GOBJECTS) $(SOURCES_NOT_COMPILED)
+
+.scm.go:
+ $(MKDIR_P) `dirname $@`
+ $(GUILE) -L $(srcdir) \
+ -c "(use-modules (system base compile) \
+ (skribilo condition)) \
+ (read-set! keywords 'prefix) \
+ (call-with-skribilo-error-catch/exit \
+ (lambda () \
+ (compile-file \"$<\" \"$@\")))"
+
+CLEANFILES += $(GOBJECTS)
+
+SUFFIXES += .go
+
+else !ENABLE_GUILE_VM
+
+nobase_nodist_module_DATA = \
+ $(SOURCES) $(SOURCES_NOT_COMPILED)
+
+endif !ENABLE_GUILE_VM