diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-05-09 22:26:51 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-05-10 00:36:00 +0200 |
commit | 9c7dd33a48858b7cb3cc81a99ef84048d7584cdf (patch) | |
tree | 1c02a67876cbeda15da7b666193306588ee53154 | |
parent | cf8f58b2afaaa9ac639804992061cb2ae03db582 (diff) | |
download | guix-9c7dd33a48858b7cb3cc81a99ef84048d7584cdf.tar guix-9c7dd33a48858b7cb3cc81a99ef84048d7584cdf.tar.gz |
build: Make sure the user's Guile has all the required features.
* m4/guix.m4 (GUIX_ASSERT_GUILE_FEATURES): New macro.
* configure.ac: Use it.
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | m4/guix.m4 | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index e98251b21b..61cee965b7 100644 --- a/configure.ac +++ b/configure.ac @@ -47,6 +47,9 @@ if test "x$GUILD" = "x"; then AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.]) fi +dnl Make sure we have a full-fledged Guile. +GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads]) + AC_ARG_WITH([nix-prefix], [AS_HELP_STRING([--with-nix-prefix=DIR], [search for Nix in DIR])], [case "$withval" in diff --git a/m4/guix.m4 b/m4/guix.m4 index 6cf1b01c90..4fdc409602 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -67,3 +67,20 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [ AC_SUBST([guix_system]) ]) + +dnl GUIX_ASSERT_GUILE_FEATURES FEATURES +dnl +dnl Assert that FEATURES are provided by $GUILE. +AC_DEFUN([GUIX_ASSERT_GUILE_FEATURES], [ + for guix_guile_feature in $1 + do + AC_MSG_CHECKING([whether $GUILE provides feature '$guix_guile_feature']) + if "$GUILE" -c "(exit (provided? '$guix_guile_feature))" + then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([$GUILE does not support feature '$guix_guile_feature', which is required.]) + fi + done +]) |