summary refs log tree commit diff
path: root/m4
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-08-26 14:07:31 +0200
committerLudovic Courtès <ludo@gnu.org>2015-08-27 00:49:23 +0200
commit12e5b26643e2269e8f30d8399886d4302c3c09d1 (patch)
treecd2b0cdb72957146a411c490bf430eb963118535 /m4
parentc2b8467645bb2c2e17eb9c580f39e345c4dc2f4a (diff)
downloadguix-12e5b26643e2269e8f30d8399886d4302c3c09d1.tar.gz
build: Do not build (guix build syscalls) if 'mount' is missing from libc.
This disables compilation of this module on GNU/Hurd.
Reported by Manolis Ragkousis <manolis837@gmail.com>.

* m4/guix.m4 (GUIX_CHECK_LIBC_MOUNT): New variable.
* configure.ac: Use it.  Define 'BUILD_SYSCALLS_MODULE' conditional.
* Makefile.am (MODULES, EXTRA_DIST): Make 'guix/build/syscalls.scm'
  conditional on BUILD_SYSCALLS_MODULE.
Diffstat (limited to 'm4')
-rw-r--r--m4/guix.m413
1 files changed, 13 insertions, 0 deletions
diff --git a/m4/guix.m4 b/m4/guix.m4
index fa5a4023ba..2113383770 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -257,3 +257,16 @@ AC_DEFUN([GUIX_ASSERT_CXX11], [
     AC_MSG_ERROR([C++ compiler '$CXX' does not support the C++11 standard])
   fi
 ])
+
+dnl GUIX_CHECK_LIBC_MOUNT
+dnl
+dnl Check whether libc provides 'mount'.  On GNU/Hurd it doesn't (yet).
+AC_DEFUN([GUIX_CHECK_LIBC_MOUNT], [
+  AC_CACHE_CHECK([whether libc provides 'mount'], [guix_cv_libc_has_mount],
+    [GUILE_CHECK([retval], [(dynamic-func \"mount\" (dynamic-link))])
+     if test "$retval" = 0; then
+       guix_cv_libc_has_mount="yes"
+     else
+       guix_cv_libc_has_mount="no"
+     fi])
+])