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([#include <stdio.h>
+#define MY_NAME "conftest"
+#define NBD_H_LOCAL
+#include "cliserv.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([#include <stdio.h>
+#define MY_NAME "conftest"
+#define NBD_H_LINUX
+#include "cliserv.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>