~ruther/guix-local

9c7dd33a48858b7cb3cc81a99ef84048d7584cdf — Ludovic Courtès 13 years ago cf8f58b
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.
2 files changed, 20 insertions(+), 0 deletions(-)

M configure.ac
M m4/guix.m4
M configure.ac => configure.ac +3 -0
@@ 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

M m4/guix.m4 => m4/guix.m4 +17 -0
@@ 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
])