summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-03-17 10:42:46 +0100
committerLudovic Courtès <ludo@gnu.org>2021-03-17 12:03:23 +0100
commit62a091368df3bab499142d06f5114a73915c71f2 (patch)
tree833c39fc8941e37bbcdc026ddd1690dd79ca70da
parent0571aa7abf262f617add727ac03e3bf63d41ae6d (diff)
downloadguix-62a091368df3bab499142d06f5114a73915c71f2.tar.gz
maint: Check whether Guile-zlib is recent enough.
This is a followup to a04aef2430645357d7796969d4b6453478ff8a3f.

* m4/guix.m4 (GUIX_CHECK_GUILE_ZLIB): New macro.
* configure.ac: Use it when checking for Guile-zlib.
-rw-r--r--configure.ac6
-rw-r--r--m4/guix.m418
2 files changed, 21 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index aa60471143..1598bfae94 100644
--- a/configure.ac
+++ b/configure.ac
@@ -151,9 +151,9 @@ if test "x$guix_cv_have_recent_guile_git" != "xyes"; then
 fi
 
 dnl Check for Guile-zlib.
-GUILE_MODULE_AVAILABLE([have_guile_zlib], [(zlib)])
-if test "x$have_guile_zlib" != "xyes"; then
-  AC_MSG_ERROR([Guile-zlib is missing; please install it.])
+GUIX_CHECK_GUILE_ZLIB
+if test "x$guix_cv_have_recent_guile_zlib" != "xyes"; then
+  AC_MSG_ERROR([A recent Guile-zlib could not be found; please install it.])
 fi
 
 dnl Check for Guile-lzlib.
diff --git a/m4/guix.m4 b/m4/guix.m4
index c1ce0876fa..90a106add8 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -226,6 +226,24 @@ AC_DEFUN([GUIX_CHECK_GUILE_GIT], [
      fi])
 ])
 
+dnl GUIX_CHECK_GUILE_ZLIB
+dnl
+dnl Check whether a recent-enough Guile-zlib is available.
+AC_DEFUN([GUIX_CHECK_GUILE_ZLIB], [
+  dnl Check whether we're using Guile-zlib 0.1.0 or later.
+  dnl 0.1.0 introduced the 'make-zlib-input-port' and related code.
+  AC_CACHE_CHECK([whether Guile-zlib is available and recent enough],
+    [guix_cv_have_recent_guile_zlib],
+    [GUILE_CHECK([retval],
+      [(use-modules (zlib))
+       make-zlib-input-port])
+     if test "$retval" = 0; then
+       guix_cv_have_recent_guile_zlib="yes"
+     else
+       guix_cv_have_recent_guile_zlib="no"
+     fi])
+])
+
 dnl GUIX_TEST_ROOT_DIRECTORY
 AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [
   AC_CACHE_CHECK([for unit test root directory],