X-Git-Url: http://git.alex.org.uk diff --git a/configure.ac b/configure.ac index 61b7660..cff4928 100644 --- a/configure.ac +++ b/configure.ac @@ -1,12 +1,13 @@ 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.99pre2.8],[wouter@debian.org]) -AM_INIT_AUTOMAKE() +dnl (c) 2003-2006 Wouter Verhelst +AC_INIT([nbd],[2.9.21a],[wouter@debian.org]) +AM_INIT_AUTOMAKE(foreign dist-bzip2) +AM_MAINTAINER_MODE AC_ARG_ENABLE( lfs, - AS_HELP_STRING(--enable-lfs,Enable Large File Support), + AC_HELP_STRING(--disable-lfs,Disable Large File Support (default on)), [ if test "x$enableval" = "xyes" ; then NBD_LFS=1 @@ -14,7 +15,7 @@ AC_ARG_ENABLE( NBD_LFS=0 fi ], - [NBD_LFS=0] + [NBD_LFS=1] ) AC_MSG_CHECKING([whether Large File Support should be enabled]) if test $NBD_LFS -eq 1; then @@ -27,7 +28,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 @@ -37,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]) @@ -45,15 +47,45 @@ 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" +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) + 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_C99 +AC_PROG_CPP AC_PROG_INSTALL +AC_CANONICAL_HOST AC_C_BIGENDIAN AC_C_INLINE AC_C_CONST @@ -61,34 +93,36 @@ AC_CHECK_SIZEOF(unsigned short int) AC_CHECK_SIZEOF(unsigned int) AC_CHECK_SIZEOF(unsigned long int) AC_CHECK_SIZEOF(unsigned long long int) -AC_CHECK_FUNCS([llseek alarm gethostbyname inet_ntoa memset socket strerror strstr]) +AC_CHECK_FUNCS([llseek alarm gethostbyname inet_ntoa memset socket strerror strstr mkstemp]) +AC_CHECK_FUNC([sync_file_range], + [AC_DEFINE([HAVE_SYNC_FILE_RANGE], [sync_file_range(2) is not supported], [sync_file_range(2) is supported])], + []) AC_FUNC_FORK AC_FUNC_SETVBUF_REVERSED AC_MSG_CHECKING(whether client should be built) -case "`uname`" in - *Linux*) sbin_PROGRAMS=nbd-client - AC_MSG_RESULT(yes) - ;; - *) AC_MSG_RESULT(no) ;; +case $host_os in + linux*) NBD_CLIENT_NAME="nbd-client" + AC_MSG_RESULT(yes) + ;; + *) NBD_CLIENT_NAME="" + 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_SUBST(NBD_CLIENT_NAME) +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 ]]) -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])) +AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h sys/ioctl.h sys/socket.h syslog.h linux/types.h]) +AM_PATH_GLIB_2_0(2.6.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) +nbd_server_CPPFLAGS=$nbd_server_CPPFLAGS" -DSYSCONFDIR='\"$sysconfdir\"'" +AC_SUBST(nbd_server_CPPFLAGS) AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([Makefile doc/Doxyfile man/Makefile man/nbd-client.8.sh man/nbd-server.5.sh man/nbd-server.1.sh]) AC_OUTPUT