r230: Add test for even more recent kernels
[nbd.git] / configure.ac
index 568f661..2a180dc 100644 (file)
@@ -1,6 +1,6 @@
 dnl Configure script for NBD system
 dnl (c) 1998 Martin Mares <mj@ucw.cz>, (c) 2000 Pavel Machek <pavel@ucw.cz>,
-dnl (c) 2003-2004 Wouter Verhelst <wouter@debian.org>
+dnl (c) 2003-2006 Wouter Verhelst <wouter@debian.org>
 AC_INIT([nbd],[SVN],[wouter@debian.org])
 AM_INIT_AUTOMAKE(foreign dist-bzip2)
 AM_MAINTAINER_MODE
@@ -49,6 +49,7 @@ fi
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_INSTALL
+AC_CANONICAL_HOST
 AC_C_BIGENDIAN
 AC_C_INLINE
 AC_C_CONST
@@ -60,19 +61,17 @@ AC_CHECK_FUNCS([llseek alarm gethostbyname inet_ntoa memset socket strerror strs
 AC_FUNC_FORK
 AC_FUNC_SETVBUF_REVERSED
 AC_MSG_CHECKING(whether client should be built)
-case "`uname`" in
-     *Linux*) sbin_PROGRAMS=nbd-client
+case $host_os in
+     linux*) sbin_PROGRAMS=nbd-client
              AC_MSG_RESULT(yes)
               ;;
      *) AC_MSG_RESULT(no) ;;
 esac
 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_COMPILE([#define u32 int
 #define u64 int
+#define __be32 int
+#define __be64 int
 #include "nbd.h"
 ],
 [int foo=NBD_CMD_DISC], 
@@ -80,12 +79,20 @@ AC_TRY_COMPILE([#define u32 int
     NBD_H='"nbd.h"'],
   AC_TRY_COMPILE([#define u32 int
 #define u64 int
+#define __be32 int
+#define __be64 int
 #include <linux/nbd.h>
   ],
 [int foo=NBD_CMD_DISC],
     [AC_DEFINE(NBD_H_LINUX, 1, Set to 1 if a (2.6) nbd.h can be found in the linux directory in the search path)
       NBD_H='<linux/nbd.h>'],
+    AC_TRY_COMPILE([#include <linux/nbd.h>
+      ],
+      [int foo=NBD_CMD_DISC],
+      [AC_DEFINE(NBD_H_LINUX, 1, Set to 1 if a (2.6) nbd.h can be found in the linux directory in the search path)
+        NBD_H='<linux/nbd.h>'],
     AC_MSG_ERROR(Could not find an nbd.h from 2.6 or above.)
+    )
   )
 )
 if test -f nbd.h
@@ -108,6 +115,6 @@ AC_SUBST(sbin_PROGRAMS)
 nbd_server_CPPFLAGS=$nbd_server_CPPFLAGS" -DSYSCONFDIR='\"$sysconfdir\"'"
 AC_SUBST(nbd_server_CPPFLAGS)
 AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_FILES([Makefile Doxyfile])
+AC_CONFIG_FILES([Makefile Doxyfile nbd-server.1 nbd-server.5])
 AC_OUTPUT