X-Git-Url: http://git.alex.org.uk diff --git a/configure.ac b/configure.ac index 61b7660..989733f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,12 +1,12 @@ dnl Configure script for NBD system dnl (c) 1998 Martin Mares , (c) 2000 Pavel Machek , -dnl (c) 2003-2004 Wouter Verhelst +dnl (c) 2003-2004 Wouter Verhelst AC_INIT([nbd],[2.7.99pre2.8],[wouter@debian.org]) AM_INIT_AUTOMAKE() AC_ARG_ENABLE( lfs, - AS_HELP_STRING(--enable-lfs,Enable Large File Support), + AC_HELP_STRING(--enable-lfs,Enable Large File Support), [ if test "x$enableval" = "xyes" ; then NBD_LFS=1 @@ -27,7 +27,7 @@ fi AC_ARG_ENABLE( syslog, - AS_HELP_STRING(--enable-syslog,Enable Syslog logging), + AC_HELP_STRING(--enable-syslog,Enable Syslog logging), [ if test "x$enableval" = "xyes" ; then ISSERVER=1 @@ -46,13 +46,7 @@ else fi AC_PROG_CC -AC_MSG_CHECKING(whether warnings should be enabled) -if test -n "$GCC" ; then - AC_MSG_RESULT(yes) - #CFLAGS="$CFLAGS -Wall -W -Wno-parentheses -Wstrict-prototypes -Wno-unused" -else - AC_MSG_RESULT(no) -fi +AC_PROG_CPP AC_PROG_INSTALL AC_C_BIGENDIAN AC_C_INLINE @@ -71,19 +65,30 @@ case "`uname`" in ;; *) AC_MSG_RESULT(no) ;; 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],,, -[[#define u32 unsigned int -#define u64 unsigned long int -]]) +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 +#ifdef LOCAL_END_REQUEST +#error not here +#endif +], + [AC_DEFINE(NBD_H, ) 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.3, [HAVE_GLIB=yes], AC_MSG_ERROR([Missing glib])) +AM_PATH_GLIB_2_0(2.2.0, [HAVE_GLIB=yes], AC_MSG_ERROR([Missing glib])) AC_HEADER_SYS_WAIT AC_TYPE_OFF_T AC_TYPE_PID_T