Merge administration system generaliztion fixes. NAMES reply is sent
[jelmer/ctrlproxy.git] / configure.ac
1 # Process this file with autoconf to produce a configure script.
2
3 AC_PREREQ(2.57)
4 AC_INIT(ctrlproxy, 3.0.1, [jelmer@vernstok.nl])
5 PACKAGE=$PACKAGE_NAME
6 VERSION=$PACKAGE_VERSION
7 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE", [ Package name])
8
9 AC_MSG_CHECKING([whether this is a bzr checkout])
10 if ! which bzr >/dev/null 2>/dev/null; then
11         AC_MSG_RESULT(no)
12 else 
13         REVISION="`bzr revno .`"
14         if test -n "$REVISION"; then
15                 AC_MSG_RESULT($REVISION)
16                 BZRVERSION="-`bzr nick .`bzr-r$REVISION"
17         else
18                 AC_MSG_RESULT(no)
19         fi
20 fi
21
22 AC_DEFINE_UNQUOTED(VERSION,"$VERSION$BZRVERSION", [ Package version])
23 AC_SUBST(PACKAGE)
24 AC_SUBST(VERSION)
25 AC_CONFIG_SRCDIR([src/line.c])
26 AC_CONFIG_HEADER([config.h])
27
28 # Checks for programs.
29 AC_PROG_CC
30 AC_PROG_INSTALL
31 AC_PATH_PROG(LD,ld)
32 AC_PATH_PROG(IRCDTORTURE,ircdtorture)
33
34 AC_ARG_ENABLE(gcov,
35 [ --enable-gcov         Enable GCOV support ],
36 [ WITH_GCOV=1 ], [ WITH_GCOV=0 ])
37 AC_SUBST(WITH_GCOV)
38
39
40 # Checks for header files.
41 AC_HEADER_DIRENT
42 AC_HEADER_STDC
43 AC_HEADER_TIME
44 AC_CHECK_HEADERS(
45 [stdlib.h string.h unistd.h execinfo.h sys/time.h sys/socket.h netinet/in6.h])
46
47 # Checks for typedefs, structures, and compiler characteristics.
48 AC_C_CONST
49 AC_TYPE_SIZE_T
50 AC_STRUCT_TM
51 AC_TYPE_UID_T
52
53 # Checks for library functions.
54 AC_FUNC_FORK
55 AC_FUNC_MALLOC
56 AC_FUNC_REALLOC
57 AC_TYPE_SIGNAL
58
59 AC_CHECK_FUNCS([gethostbyname gethostname memset strchr strerror strstr uname backtrace_symbols gettimeofday strrchr daemon])
60
61 PKG_PROG_PKG_CONFIG
62 PKG_CHECK_MODULES(COMMON, glib-2.0 gmodule-2.0)
63
64 ###############################################################################
65 # GNUTLS support
66 ###############################################################################
67 PKG_CHECK_MODULES(GNUTLS, gnutls, [
68                 AC_DEFINE(HAVE_GNUTLS, 1, [Whether GNUTLS is available])
69                 SSL_OBJS="src/gnutls.o src/tlscert.o"
70                 AC_SUBST(SSL_OBJS)
71                 ], [ AC_MSG_WARN([GNUTLS not found, SSL will not be available]) ])
72
73 AC_CHECK_LIB(readline, readline, [ 
74         AC_DEFINE(HAVE_READLINE, 1, [Whether readline is available])
75         BINS="$BINS linestack-cmd$ac_cv_exeext" 
76 ])
77
78 ###############################################################################
79 # IPv6 support
80 ###############################################################################
81 AC_CACHE_CHECK([for IPv6], ac_cv_lib_ipv6, [
82 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
83 #include <sys/types.h>
84 #include <sys/socket.h>
85 #include <netinet/in.h>
86 #ifdef HAVE_NETINET_IN6_H
87 #include <netinet/in6.h>
88 #endif
89 ]],
90 [[
91  struct sockaddr_in6 sin6;
92  int s;
93
94  s = socket(AF_INET6, SOCK_DGRAM, 0);
95
96  sin6.sin6_family = AF_INET6;
97  sin6.sin6_port = htons(17);
98  sin6.sin6_addr = in6addr_any;
99  bind(s, (struct sockaddr *)&sin6, sizeof(sin6));
100 ]])],
101 [ac_cv_lib_ipv6=yes],
102 [ac_cv_lib_ipv6=no])])
103
104 if test "$ac_cv_lib_ipv6" = yes; then
105   AC_DEFINE(HAVE_IPV6, 1, [Define if you have IPv6.])
106 fi
107
108 ###############################################################################
109 # SWIG support
110 ###############################################################################
111 AC_PATH_PROG(SWIG,[swig])
112
113 AC_PATH_PROG(XSLTPROC, xsltproc)
114
115 AC_SUBST(XSLTPROC)
116
117 if test -n "$XSLTPROC"
118 then
119         EXTRA_INSTALL_TARGETS="install-doc"
120 fi
121
122 AC_SUBST(EXTRA_INSTALL_TARGETS)
123
124 BINS="$BINS ctrlproxy$ac_cv_exeext"
125 AC_SUBST(BINS)
126 AC_SUBST(MODS_SHARED)
127
128 AC_DEFINE(_GNU_SOURCE, 1, [Use GNU extensions])
129
130 AC_CONFIG_FILES([Makefile.settings ctrlproxy.pc])
131 AC_OUTPUT