-AC_MSG_CHECKING(where to find a working nbd.h)
-dnl We need to check for NBD_CMD_DISC, but that's part of an enum, it is not
-dnl #define'd. Therefore, we check for something which is differently #define'd
-dnl in the old or new versions, even if we don't really care about that.
-dnl This might break at some time, but it should work for now, so...
-AC_TRY_CPP([#include "nbd.h"
-#ifdef LOCAL_END_REQUEST
-#error not here
-#endif
-],
- [AC_DEFINE(NBD_H, "nbd.h", Set to where a (recent enough) nbd.h can be found)
- NBD_H='"nbd.h"'],
- AC_TRY_CPP([#include <linux/nbd.h>
-#ifdef LOCAL_END_REQUEST
-#error not here
-#endif
-],
- [AC_DEFINE(NBD_H, <linux/nbd.h>) NBD_H='<linux/nbd.h>'],
- AC_MSG_ERROR(Could not find a (recent enough) nbd.h)
- )
-)
-AC_MSG_RESULT($NBD_H)
-AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h sys/ioctl.h sys/mount.h sys/socket.h syslog.h])
-AM_PATH_GLIB_2_0(2.2.0, [HAVE_GLIB=yes], AC_MSG_ERROR([Missing glib]))
+AC_SUBST(NBD_CLIENT_NAME)
+AC_SEARCH_LIBS(bind, socket,, AC_MSG_ERROR([Could not find an implementation of the bind() system call]))
+AC_SEARCH_LIBS(inet_ntoa, nsl,, AC_MSG_ERROR([Could not find an implementation of the inet_ntoa() system call]))
+AC_SEARCH_LIBS(daemon, resolv,, AC_MSG_ERROR([Could not find an implementation of the daemon() system call]))
+AC_CHECK_HEADERS([sys/mount.h],,,
+[[#include <sys/param.h>
+]])
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h sys/ioctl.h sys/socket.h syslog.h linux/types.h])
+AM_PATH_GLIB_2_0(2.6.0, [HAVE_GLIB=yes], AC_MSG_ERROR([Missing glib]))