r104: Unbreak VPATH builds; release rc2
[nbd.git] / configure.ac
index 765a401..70a2b10 100644 (file)
@@ -1,22 +1,25 @@
 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>
-AC_INIT([nbd],[2.7.99pre2.8],[wouter@debian.org])
+AC_INIT([nbd],[2.8.0-rc2],[wouter@debian.org])
 AM_INIT_AUTOMAKE(foreign dist-bzip2)
 AM_MAINTAINER_MODE
 
-AC_ARG_ENABLE(
-  lfs,
-  AC_HELP_STRING(--enable-lfs,Enable Large File Support),
-  [
-    if test "x$enableval" = "xyes" ; then
-      NBD_LFS=1
-    else
-      NBD_LFS=0
-    fi
-  ],
-  [NBD_LFS=0]
-)
+dnl Assume we want LFS. If there's some weird operating system out there that
+dnl doesn't support it, we can always add a check.
+dnl AC_ARG_ENABLE(
+dnl   lfs,
+dnl   AC_HELP_STRING(--enable-lfs,Enable Large File Support),
+dnl   [
+dnl     if test "x$enableval" = "xyes" ; then
+dnl       NBD_LFS=1
+dnl     else
+dnl       NBD_LFS=0
+dnl     fi
+dnl   ],
+dnl   [NBD_LFS=0]
+dnl )
+NBD_LFS=1
 AC_MSG_CHECKING([whether Large File Support should be enabled])
 if test $NBD_LFS -eq 1; then
   AC_DEFINE(NBD_LFS,1, [Define to 1 if Large File Support should be enabled])
@@ -71,22 +74,29 @@ 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_LOCAL, 1, Set to 1 if a (recent enough) nbd.h can be found in the current directory)
-    NBD_H='"nbd.h"'],
-  AC_TRY_CPP([#include <linux/nbd.h>
-#ifdef LOCAL_END_REQUEST
-#error not here
-#endif
+AC_TRY_COMPILE([#define u32 int
+#define u64 int
+#include "nbd.h"
 ],
-    [AC_DEFINE(NBD_H_LINUX, 1, Set to 1 if a (recent enough) nbd.h can be found in the linux directory in the search path) NBD_H='<linux/nbd.h>'],
-    AC_MSG_ERROR(Could not find a (recent enough) nbd.h)
+[int foo=NBD_CMD_DISC], 
+  [AC_DEFINE(NBD_H_LOCAL, 1, Set to 1 if a (2.6) nbd.h can be found in the current directory)
+    NBD_H='"nbd.h"'],
+  AC_TRY_COMPILE([#define u32 int
+#define u64 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_MSG_ERROR(Could not find an nbd.h from 2.6 or above.)
   )
 )
+if test -f nbd.h
+then
+  if test $NBD_H='<linux/nbd.h>'
+  then
+    AC_MSG_WARN([there is a local nbd.h, but it is from the 2.4-series of kernels. Using the system-provided, working, nbd.h])
+  fi
+fi
 AC_MSG_RESULT($NBD_H)
 AC_CHECK_HEADERS([sys/mount.h],,,
 [[#include <sys/param.h>