X-Git-Url: http://git.alex.org.uk diff --git a/configure.ac b/configure.ac index 68ef533..989733f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,21 @@ dnl Configure script for NBD system dnl (c) 1998 Martin Mares , (c) 2000 Pavel Machek , -dnl (c) 2003-2004 Wouter Verhelst -AC_INIT([nbd],[2.7],[wouter@debian.org]) -AM_INIT_AUTOMAKE(nbd, 2.7) +dnl (c) 2003-2004 Wouter Verhelst +AC_INIT([nbd],[2.7.99pre2.8],[wouter@debian.org]) +AM_INIT_AUTOMAKE() -AC_ARG_ENABLE(lfs, AC_HELP_STRING([--enable-lfs],[Enable Large File Support]), [NBD_LFS=1], [NBD_LFS=0]) +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] +) 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]) @@ -14,7 +25,18 @@ else AC_MSG_RESULT([no]) fi -AC_ARG_ENABLE(syslog, AC_HELP_STRING([--enable-syslog],[Enable Syslog logging]), [ISSERVER=1], [ISSERVER=0]) +AC_ARG_ENABLE( + syslog, + AC_HELP_STRING(--enable-syslog,Enable Syslog logging), + [ + if test "x$enableval" = "xyes" ; then + ISSERVER=1 + else + ISSERVER=0 + fi + ], + [ISSERVER=0] +) AC_MSG_CHECKING([whether syslog logging is requested]) if test $ISSERVER -eq 1; then AC_DEFINE(ISSERVER,1, [Define to 1 if you want nbd-server to log through syslog]) @@ -22,15 +44,10 @@ if test $ISSERVER -eq 1; then else AC_MSG_RESULT([no]) 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_INSTALL +AC_PROG_CPP +AC_PROG_INSTALL AC_C_BIGENDIAN AC_C_INLINE AC_C_CONST @@ -48,23 +65,35 @@ 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.0, [HAVE_GLIB=yes], AC_MSG_ERROR([Missing glib])) AC_HEADER_SYS_WAIT AC_TYPE_OFF_T AC_TYPE_PID_T AC_SUBST(sbin_PROGRAMS) -AM_CONFIG_HEADER(config.h) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT