r42: Reverse the header-checking logic: use a local nbd.h and fall back to
authoryoe <yoe>
Tue, 23 Dec 2003 20:33:43 +0000 (20:33 +0000)
committeryoe <yoe>
Tue, 23 Dec 2003 20:33:43 +0000 (20:33 +0000)
<linux/nbd.h> if it isn't available, instead of the other way around.

cliserv.h
configure.in

index f4cde60..87051f1 100644 (file)
--- a/cliserv.h
+++ b/cliserv.h
@@ -36,13 +36,14 @@ typedef unsigned long long u64;
 #error I need at least some 64-bit type
 #endif
 
+#ifdef HAVE_LOCAL_NBD_H
+#include "nbd.h"
+#else
 #ifdef HAVE_LINUX_NBD_H
 #include <linux/nbd.h>
 #else
-/* get it from a kernel source somewhere, and dump it in this directory.
- * Required for people trying to compile nbd-server on a non-linux
- * system. */
-#include "nbd.h"
+#error I need an nbd.h somewhere. Either install it in <linux/nbd.h> or put it in the current directory.
+#endif
 #endif
 
 #if NBD_LFS==1
index f19efb1..15b1015 100644 (file)
@@ -43,7 +43,14 @@ case "`uname`" in
              AC_MSG_RESULT(yes)
               ;;
      *) AC_MSG_RESULT(no) ;;
-     esac
+esac
+AC_MSG_CHECKING(whether there is a local nbd.h)
+if test -f nbd.h; then
+  AC_DEFINE(HAVE_LOCAL_NBD_H,1, [Define to 1 if you want to use a local nbd.h (not provided, must be supplied by you])
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
 AC_CHECK_HEADERS([linux/nbd.h arpa/inet.h fcntl.h netdb.h netinet/in.h sys/ioctl.h sys/mount.h sys/socket.h syslog.h])
 AC_HEADER_SYS_WAIT
 AC_TYPE_OFF_T