bd2a77d0b6ebe6c32ababdbea90fc8a66431e4d8
[sahlberg/ctdb.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_IPMUX=bin/ctdb_ipmux
22     CTDB_PCAP_LDFLAGS=
23     ;;
24   AIX*)
25     CTDB_SYSTEM_OBJ=common/system_aix.o
26     CTDB_SCSI_IO=
27     CTDB_IPMUX=
28     CTDB_PCAP_LDFLAGS=-lpcap
29     ;;
30   *)
31     echo unknown system  cant configure
32     exit
33     ;;
34 esac
35
36 AC_LIBREPLACE_ALL_CHECKS
37
38 if test "$ac_cv_prog_gcc" = yes; then
39    CFLAGS="$CFLAGS -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings"
40 fi
41
42 AC_CONFIG_HEADER(config.h)
43
44 EXTRA_OBJ=""
45
46 m4_include(libpopt.m4)
47 m4_include(libtalloc.m4)
48 m4_include(libtdb.m4)
49 m4_include(libevents.m4)
50 m4_include(ib/config.m4)
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_IPMUX)
69 AC_SUBST(CTDB_PCAP_LDFLAGS)
70
71 AC_OUTPUT(Makefile)