improved handling of systems without libipq.h
[metze/ctdb/wip.git] / configure.ac
1 AC_PREREQ(2.50)
2 AC_DEFUN([AC_CHECK_LIB_EXT], [
3         AC_CHECK_LIB([$1],[$3],[$4],[$5],[$7])
4         ac_cv_lib_ext_$1_$3=$ac_cv_lib_$1_$3
5 ])
6 AC_DEFUN([AC_CHECK_FUNC_EXT], [
7         AC_CHECK_FUNC([$1],[$3],[$4])
8         ac_cv_func_ext_$1=$ac_cv_func_$1
9 ])
10 AC_DEFUN([SMB_MODULE_DEFAULT], [echo -n ""])
11 AC_DEFUN([SMB_LIBRARY_ENABLE], [echo -n ""])
12 AC_DEFUN([SMB_EXT_LIB], [echo -n ""])
13 AC_DEFUN([SMB_ENABLE], [echo -n ""])
14 AC_INIT(ctdb.h)
15 AC_CONFIG_SRCDIR([server/ctdbd.c])
16
17 case `uname` in
18   Linux*)
19     CTDB_SYSTEM_OBJ=common/system_linux.o
20     CTDB_SCSI_IO=bin/scsi_io
21     CTDB_PCAP_LDFLAGS=
22     ;;
23   AIX*)
24     CTDB_SYSTEM_OBJ=common/system_aix.o
25     CTDB_SCSI_IO=
26     CTDB_PCAP_LDFLAGS=-lpcap
27     ;;
28   *)
29     echo unknown system  cant configure
30     exit
31     ;;
32 esac
33
34 AC_LIBREPLACE_ALL_CHECKS
35
36 if test "$ac_cv_prog_gcc" = yes; then
37    CFLAGS="$CFLAGS -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings"
38 fi
39
40 AC_CONFIG_HEADER(config.h)
41
42 EXTRA_OBJ=""
43
44 m4_include(libpopt.m4)
45 m4_include(libtalloc.m4)
46 m4_include(libtdb.m4)
47 m4_include(libevents.m4)
48 m4_include(ib/config.m4)
49
50 AC_CHECK_HEADERS(libipq.h linux/netfilter.h)
51
52 AC_CHECK_HEADERS(sched.h)
53 AC_CHECK_FUNCS(sched_setscheduler)
54
55 AC_CACHE_CHECK([for sin_len in sock],ctdb_cv_HAVE_SOCK_SIN_LEN,[
56 AC_TRY_COMPILE([#include <sys/types.h>
57 #include <sys/socket.h>
58 #include <netinet/in.h>],
59 [struct sockaddr_in sock; sock.sin_len = sizeof(sock);],
60 ctdb_cv_HAVE_SOCK_SIN_LEN=yes,ctdb_cv_HAVE_SOCK_SIN_LEN=no)])
61 if test x"$ctdb_cv_HAVE_SOCK_SIN_LEN" = x"yes"; then
62     AC_DEFINE(HAVE_SOCK_SIN_LEN,1,[Whether the sockaddr_in struct has a sin_len property])
63 fi
64
65 AC_SUBST(EXTRA_OBJ)
66 AC_SUBST(CTDB_SYSTEM_OBJ)
67 AC_SUBST(CTDB_SCSI_IO)
68 AC_SUBST(CTDB_PCAP_LDFLAGS)
69
70 AC_OUTPUT(Makefile)