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