X-Git-Url: http://git.alex.org.uk diff --git a/configure.ac b/configure.ac index 2d9379f..0742c43 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Configure script for NBD system dnl (c) 1998 Martin Mares , (c) 2000 Pavel Machek , -dnl (c) 2003-2004 Wouter Verhelst -AC_INIT([nbd],[CVS],[wouter@debian.org]) +dnl (c) 2003-2006 Wouter Verhelst +AC_INIT([nbd],[2.9.8],[wouter@debian.org]) AM_INIT_AUTOMAKE(foreign dist-bzip2) AM_MAINTAINER_MODE @@ -38,6 +38,7 @@ AC_ARG_ENABLE( ], [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]) @@ -46,9 +47,45 @@ else AC_MSG_RESULT([no]) fi +AC_ARG_ENABLE( + debug, + AC_HELP_STRING(--enable-debug,Build a debugging version of the server), + [ + if test "x$enableval" = "xyes"; then + DODBG=1 + else + DODBG=0 + fi + ], + [DODBG=0] +) + +AC_MSG_CHECKING([whether a debugging version is requested]) +if test $DODBG -eq 1; then + AC_MSG_RESULT([yes]) + if test $ISSERVER -eq 1; then + AC_MSG_ERROR([You requested both syslog logging and a debugging version of the server. Bad idea!]) + fi + AC_DEFINE(DODBG,1,[Define if you want a debugging version of nbd-server (lots of copious output)]) + AC_DEFINE(NOFORK,1,[Define if you don't want the nbd-server to fork()]) +else + AC_MSG_RESULT([no]) +fi + +AC_ARG_ENABLE( + sdp, + AC_HELP_STRING(--enable-sdp,Build a version of nbd-server with support for the Socket Direct Protocol (SDP). Requires you to build and install a kernel with the InfiniBand patches (default disabled)), + [ + if test "x$enableval" = "xyes"; then + AC_DEFINE(WITH_SDP, 1, [Define to 1 if you have and want support for the Socket Direct Protocol]) + fi + ] +) + AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL +AC_CANONICAL_HOST AC_C_BIGENDIAN AC_C_INLINE AC_C_CONST @@ -60,19 +97,17 @@ AC_CHECK_FUNCS([llseek alarm gethostbyname inet_ntoa memset socket strerror strs AC_FUNC_FORK AC_FUNC_SETVBUF_REVERSED AC_MSG_CHECKING(whether client should be built) -case "`uname`" in - *Linux*) sbin_PROGRAMS=nbd-client +case $host_os in + linux*) sbin_PROGRAMS=nbd-client AC_MSG_RESULT(yes) ;; *) AC_MSG_RESULT(no) ;; esac 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_COMPILE([#define u32 int #define u64 int +#define __be32 int +#define __be64 int #include "nbd.h" ], [int foo=NBD_CMD_DISC], @@ -80,22 +115,33 @@ AC_TRY_COMPILE([#define u32 int NBD_H='"nbd.h"'], AC_TRY_COMPILE([#define u32 int #define u64 int +#define __be32 int +#define __be64 int #include ], [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=''], + AC_TRY_COMPILE([#include + ], + [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=''], AC_MSG_ERROR(Could not find an nbd.h from 2.6 or above.) + ) ) ) if test -f nbd.h then - if test $NBD_H='' + if test "$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_SEARCH_LIBS(bind, socket,, AC_MSG_ERROR([Could not find an implementation of the bind() system call])) +AC_SEARCH_LIBS(inet_ntoa, nsl,, AC_MSG_ERROR([Could not find an implementation of the inet_ntoa() system call])) +AC_SEARCH_LIBS(daemon, resolv,, AC_MSG_ERROR([Could not find an implementation of the daemon() system call])) AC_CHECK_HEADERS([sys/mount.h],,, [[#include ]]) @@ -108,6 +154,6 @@ AC_SUBST(sbin_PROGRAMS) nbd_server_CPPFLAGS=$nbd_server_CPPFLAGS" -DSYSCONFDIR='\"$sysconfdir\"'" AC_SUBST(nbd_server_CPPFLAGS) AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_FILES([Makefile Doxyfile]) +AC_CONFIG_FILES([Makefile Doxyfile nbd-server.1 nbd-server.5]) AC_OUTPUT