summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-01-22 23:07:10 +0100
committerLudovic Courtès <ludo@gnu.org>2018-01-22 23:39:51 +0100
commitee11ba1d93b24753eafcd77eef8543e5cac5ba4c (patch)
tree4179c8ead2eadbcee2dd7e922cfa82fe114a8c88 /configure.ac
parentf9481e2222ae127d631888c0d81f5b725c5cbc2a (diff)
downloadcuirass-ee11ba1d93b24753eafcd77eef8543e5cac5ba4c.tar
cuirass-ee11ba1d93b24753eafcd77eef8543e5cac5ba4c.tar.gz
Introduce concurrency with Fibers.
* README: Mark Fibers as required. * configure.ac: Check for Guile 2.2 only. Check for (fibers). * bin/cuirass.in (main): Use (fibers). Run 'process-specs' and web server in separate fibers. * src/cuirass/base.scm (with-store): New macro. (non-blocking-port): New procedure. (evaluate): Use 'non-blocking-port'. Use 'read-string' followed by 'read'. (process-specs): Move 'db-add-stamp' right after 'string=?' comparison. Run evaluation and subsequent builds in a separate fiber. * src/cuirass/http.scm (run-cuirass-server): Pass 'fibers as the second argument to 'run-server'. Use 'log-message' instead of 'format'. * src/cuirass/database.scm (with-database): Remove 'dynamic-wind'.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac10
1 files changed, 4 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 9c6a597..0de0065 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
## Process this file with autoconf to produce a configure script.
# Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
-# Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
#
# This file is part of Cuirass.
@@ -35,11 +35,8 @@ AC_CANONICAL_HOST
AC_PROG_MKDIR_P
AC_PROG_SED
-GUILE_PKG([2.2 2.0])
-
-if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then
- PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
-fi
+# We need Fibers, which requires 2.2+.
+GUILE_PKG([2.2])
AC_PATH_PROG([GUILE], [guile])
AC_PATH_PROG([GUILD], [guild])
@@ -51,6 +48,7 @@ GUILE_MODULE_REQUIRED([guix git])
GUILE_MODULE_REQUIRED([git])
GUILE_MODULE_REQUIRED([json])
GUILE_MODULE_REQUIRED([sqlite3])
+GUILE_MODULE_REQUIRED([fibers])
# We depend on new Guile-Git errors.
GUILE_MODULE_REQUIRED_EXPORT([(git)], git-error-message)