From: Sumit Bose <sbose@redhat.com>
[samba.git] / ctdb / configure.ac
1 AC_PREREQ(2.50)
2 AC_INIT(ctdb, m4_esyscmd([grep 'Version:' ./packaging/RPM/ctdb.spec 2>/dev/null | head -1 | sed -e 's/[ \t]*Version:[ \t]*\([^ \t]*\)[ \t]*.*/\1/' | tr -d '\n']))
3 AC_DEFUN([AC_CHECK_LIB_EXT], [
4         AC_CHECK_LIB([$1],[$3],[$4],[$5],[$7])
5         ac_cv_lib_ext_$1_$3=$ac_cv_lib_$1_$3
6 ])
7 AC_DEFUN([AC_CHECK_FUNC_EXT], [
8         AC_CHECK_FUNC([$1],[$3],[$4])
9         ac_cv_func_ext_$1=$ac_cv_func_$1
10 ])
11 AC_DEFUN([SMB_MODULE_DEFAULT], [echo -n ""])
12 AC_DEFUN([SMB_LIBRARY_ENABLE], [echo -n ""])
13 AC_DEFUN([SMB_EXT_LIB], [echo -n ""])
14 AC_DEFUN([SMB_ENABLE], [echo -n ""])
15 AC_CONFIG_SRCDIR([server/ctdbd.c])
16
17 if test "${libdir}" = '${exec_prefix}/lib'; then
18   case `uname -m` in
19     x86_64|ppc64|powerpc64)
20       libdir='${exec_prefix}/lib64'
21       ;;
22     *)
23       libdir='${exec_prefix}/lib'
24       ;;
25   esac
26 fi
27
28 case `uname` in
29   Linux*)
30     CTDB_SYSTEM_OBJ=common/system_linux.o
31     CTDB_SCSI_IO=bin/scsi_io
32     CTDB_PCAP_LDFLAGS=
33     ;;
34   AIX*)
35     CTDB_SYSTEM_OBJ=common/system_aix.o
36     CTDB_SCSI_IO=
37     CTDB_PCAP_LDFLAGS=-lpcap
38     ;;
39   *)
40     echo unknown system  cant configure
41     exit
42     ;;
43 esac
44
45 AC_LIBREPLACE_ALL_CHECKS
46
47 if test "$ac_cv_prog_gcc" = yes; then
48    CFLAGS="$CFLAGS -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings"
49 fi
50
51 LOGDIR='${localstatedir}/log'
52 AC_ARG_WITH([logdir],
53         [  --with-logdir=DIR       path to log directory [[LOCALSTATEDIR/log]]],
54         LOGDIR=$withval)
55 if test ! -z "$LOGDIR"; then
56   if test "$LOGDIR" = "yes" -o "$LOGDIR" = "no"; then
57     AC_MSG_ERROR([--with-logdir must specify a path])
58   fi
59 fi
60 AC_SUBST(LOGDIR)
61
62 AC_CONFIG_HEADER(config.h)
63
64 EXTRA_OBJ=""
65
66 m4_include(libpopt.m4)
67 m4_include(libtalloc.m4)
68 m4_include(libtdb.m4)
69 m4_include(libevents.m4)
70 m4_include(ib/config.m4)
71
72 AC_CHECK_HEADERS(libipq.h linux/netfilter.h)
73
74 IPQ_LIBS=""
75 if test x"$ac_cv_header_libipq_h" = x"yes"; then
76    IPQ_LIBS="-lipq"
77 fi
78 AC_SUBST(IPQ_LIBS)
79
80 AC_CHECK_HEADERS(sched.h)
81 AC_CHECK_FUNCS(sched_setscheduler)
82
83 AC_CACHE_CHECK([for sin_len in sock],ctdb_cv_HAVE_SOCK_SIN_LEN,[
84 AC_TRY_COMPILE([#include <sys/types.h>
85 #include <sys/socket.h>
86 #include <netinet/in.h>],
87 [struct sockaddr_in sock; sock.sin_len = sizeof(sock);],
88 ctdb_cv_HAVE_SOCK_SIN_LEN=yes,ctdb_cv_HAVE_SOCK_SIN_LEN=no)])
89 if test x"$ctdb_cv_HAVE_SOCK_SIN_LEN" = x"yes"; then
90     AC_DEFINE(HAVE_SOCK_SIN_LEN,1,[Whether the sockaddr_in struct has a sin_len property])
91 fi
92
93 AC_SUBST(EXTRA_OBJ)
94 AC_SUBST(CTDB_SYSTEM_OBJ)
95 AC_SUBST(CTDB_SCSI_IO)
96 AC_SUBST(CTDB_PCAP_LDFLAGS)
97
98 AC_OUTPUT(Makefile ctdb.pc)