diff --git a/Makefile.am b/Makefile.am index 2b9fd9c..ef5fafb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -130,6 +130,19 @@ TESTS += \ tests/concurrent-web-server.scm endif +# Tests are calibrated to be compiled (they're much slower when +# interpreted) so compile them upfront upon 'make check'. +# +# Note: Guile looks for tests/*.scm.go, not tests/*.go, hence the file +# extension weirdness below. +TESTS_GOBJECTS = $(TESTS:%.scm=%.scm.go) +CLEANFILES += $(TESTS_GOBJECTS) +DISTCLEANFILES = $(TESTS_GOBJECTS) +check-local: $(TESTS_GOBJECTS) + +%.scm.go: %.go + mv "$^" "$@" + TESTS_ENVIRONMENT=top_srcdir="$(abs_top_srcdir)" ./env $(GUILE) -s EXTRA_DIST += \ diff --git a/build-aux/guile.am b/build-aux/guile.am index 5e94c96..ef656ae 100644 --- a/build-aux/guile.am +++ b/build-aux/guile.am @@ -23,6 +23,6 @@ EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES) GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat SUFFIXES = .scm .go .scm.go: - $(AM_V_GEN) $(top_builddir)/env \ + $(AM_V_GEN) GUILE_AUTO_COMPILE=0 $(top_builddir)/env \ $(GUILE_TOOLS) compile $(GUILE_TARGET) -L "$(abs_top_srcdir)" \ $(GUILE_WARNINGS) -o "$@" "$<" diff --git a/guix.scm b/guix.scm index 254eeaa..07dc954 100644 --- a/guix.scm +++ b/guix.scm @@ -45,14 +45,6 @@ "texinfo" "gettext-minimal")))) (inputs (list (S "guile"))) - (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'configure 'bootstrap - (lambda _ - (zero? (system* "./autogen.sh")))) - (add-before 'configure 'setenv - (lambda _ - (setenv "GUILE_AUTO_COMPILE" "0")))))) (synopsis "Lightweight concurrency facility for Guile") (description "Fibers is a Guile library that implements a a lightweight concurrency