X-Git-Url: http://git.alex.org.uk diff --git a/configure.ac b/configure.ac index e77007f..9cc59e6 100644 --- a/configure.ac +++ b/configure.ac @@ -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,6 +47,75 @@ 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_MSG_CHECKING(for klcc) +AC_ARG_WITH( + klcc, + AC_HELP_STRING(--with-klcc,[Build a version of nbd-client against klibc (for initramfs uses). Specify the path to 'klcc' (default autodetected)]), + [ + if test "x$withval" != "x"; then + if test -x "$withval"; then + KLCC="$withval" + sbin_PROGRAMS=knbd-client + AC_MSG_RESULT($KLCC) + else + AC_MSG_ERROR("specified klcc is not executable or does not exist.") + fi + else + if test -x /usr/bin/klcc; then + KLCC=/usr/bin/klcc + sbin_PROGRAMS=knbd-client + AC_MSG_RESULT($KLCC) + else + AC_MSG_ERROR("klcc not found! Please specify it as a parameter to the --with-klcc option"); + fi + fi + ], + [ if test -x /usr/bin/klcc; then + sbin_PROGRAMS=knbd-client + KLCC=/usr/bin/klcc + AC_MSG_RESULT($KLCC) + else + AC_MSG_RESULT(not found) + fi + ] +) +AC_SUBST(KLCC) + AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL @@ -62,7 +132,7 @@ AC_FUNC_FORK AC_FUNC_SETVBUF_REVERSED AC_MSG_CHECKING(whether client should be built) case $host_os in - linux*) sbin_PROGRAMS=nbd-client + linux*) sbin_PROGRAMS="$sbin_PROGRAMS nbd-client" AC_MSG_RESULT(yes) ;; *) AC_MSG_RESULT(no) ;; @@ -73,8 +143,13 @@ AC_TRY_COMPILE([#define u32 int #define __be32 int #define __be64 int #include "nbd.h" +#ifdef __GNUC__ +#define UNUSED __attribute__((__unused__)) +#else +#define UNUSED +#endif ], -[int foo=NBD_CMD_DISC], +[int UNUSED foo=NBD_CMD_DISC], [AC_DEFINE(NBD_H_LOCAL, 1, Set to 1 if a (2.6) nbd.h can be found in the current directory) NBD_H='"nbd.h"'], AC_TRY_COMPILE([#define u32 int @@ -82,13 +157,23 @@ AC_TRY_COMPILE([#define u32 int #define __be32 int #define __be64 int #include +#ifdef __GNUC__ +#define UNUSED __attribute__((__unused__)) +#else +#define UNUSED +#endif ], -[int foo=NBD_CMD_DISC], +[int UNUSED 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 +#ifdef __GNUC__ +#define UNUSED __attribute__((__unused__)) +#else +#define UNUSED +#endif ], - [int foo=NBD_CMD_DISC], + [int UNUSED 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.)