A number of places in the Makefile assume that the compiler is GCC and the linker...
[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.9, [jelmer@samba.org])
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$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/admin-cmd.c])
29 AC_CONFIG_HEADER([config.h])
30
31 # Checks for programs.
32 AC_PROG_CC
33 AC_PROG_INSTALL
34 AC_PATH_PROG(IRCDTORTURE,ircdtorture)
35
36 if test "$GCC" = "yes"; then
37         CFLAGS="$CFLAGS -ansi -Wall"
38         DYNAMIC="-rdynamic"
39 fi
40 AC_SUBST(GCC)
41 AC_SUBST(DYNAMIC)
42
43 AC_ARG_ENABLE(gcov,
44 [ --enable-gcov         Enable GCOV support ],
45 [ WITH_GCOV=1 ], [ WITH_GCOV=0 ])
46 AC_SUBST(WITH_GCOV)
47
48
49 # Checks for header files.
50 AC_HEADER_DIRENT
51 AC_HEADER_STDC
52 AC_HEADER_TIME
53 AC_CHECK_HEADERS(
54 [stdlib.h string.h unistd.h execinfo.h sys/time.h sys/socket.h syslog.h])
55
56 # Checks for typedefs, structures, and compiler characteristics.
57 AC_C_CONST
58 AC_TYPE_SIZE_T
59 AC_STRUCT_TM
60 AC_TYPE_UID_T
61
62 # Checks for library functions.
63 AC_FUNC_FORK
64 AC_FUNC_MALLOC
65 AC_FUNC_REALLOC
66 AC_TYPE_SIGNAL
67
68 AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname))
69 AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
70 AC_CHECK_FUNCS([gethostname memset strchr strerror strstr uname backtrace_symbols gettimeofday strrchr daemon fork writev])
71 AC_CHECK_FUNC(gcry_control, , AC_CHECK_LIB(gcrypt, gcry_control))
72
73 PKG_PROG_PKG_CONFIG
74 PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.6.0 gmodule-2.0 >= 2.6.0)
75 AC_SUBST(GLIB_CFLAGS)
76 AC_SUBST(GLIB_LIBS)
77 PKG_CHECK_MODULES(CHECK, check, [], [ echo -n "" ])
78
79 ###############################################################################
80 # GNUTLS support
81 ###############################################################################
82 PKG_CHECK_MODULES(GNUTLS, gnutls, [
83                 AC_DEFINE(HAVE_GNUTLS, 1, [Whether GNUTLS is available])
84                 LIBIRC_SSL_OBJS="libirc/gnutls.o"
85                 CTRLPROXY_SSL_OBJS="src/tlscert.o"
86                 AC_SUBST(LIBIRC_SSL_OBJS)
87                 AC_SUBST(CTRLPROXY_SSL_OBJS)
88                 ], [ AC_MSG_WARN([GNUTLS not found, SSL will not be available]) ])
89
90 AC_CHECK_LIB(readline, readline, [ 
91         AC_DEFINE(HAVE_READLINE, 1, [Whether readline is available])
92         BINS="$BINS libirc/tools/linestack-cmd$ac_cv_exeext ctrlproxy-admin$ac_cv_exeext" 
93         LIBS="$LIBS -lreadline"
94 ])
95
96 ###############################################################################
97 # Python support
98 ###############################################################################
99 AC_PATH_PROG(PYTHON, python)
100 AC_PATH_PROG(PYTHON_CONFIG, python-config)
101
102 HAVE_PYTHON=no
103 AC_SUBST(HAVE_PYTHON)
104 if test -z "$PYTHON_CONFIG"; then
105         AC_MSG_WARN([Python not found, not building python module])
106 else
107         DEFMODULE(python, `$PYTHON_CONFIG --libs`)
108         HAVE_PYTHON=yes
109 fi
110 ###############################################################################
111 # GSSAPI support
112 ###############################################################################
113 AC_PATH_PROG(KRB5_CONFIG, krb5-config, no)
114 if test $KRB5_CONFIG != no && $KRB5_CONFIG --libs gssapi >/dev/null 2>&1; then
115         LIBS="$LIBS `$KRB5_CONFIG --libs gssapi`"
116         CFLAGS="$CFLAGS `$KRB5_CONFIG --cflags gssapi`"
117 fi
118 AC_CHECK_FUNC(gss_display_status,
119                 AC_DEFINE(HAVE_GSSAPI, 1, [have GSSAPI]),
120                 AC_CHECK_LIB(gss, gss_display_status,
121                                 LIBS="$LIBS -lgss"; AC_DEFINE(HAVE_GSSAPI, 1, [have GSSAPI])))
122 AC_CHECK_FUNC(gsskrb5_register_acceptor_identity, 
123                 AC_DEFINE(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY, 1, [Whether gsskrb5_register_acceptor_identity is provided by the GSSAPI library]))
124 AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h])
125
126 AC_PATH_PROG(XSLTPROC, xsltproc)
127
128 AC_SUBST(XSLTPROC)
129
130 if test -n "$XSLTPROC"
131 then
132         EXTRA_INSTALL_TARGETS="install-doc"
133 fi
134
135 AC_SUBST(EXTRA_INSTALL_TARGETS)
136
137 AC_SUBST(BINS)
138
139 AC_DEFINE(_GNU_SOURCE, 1, [Use GNU extensions])
140
141 AC_CONFIG_FILES([Makefile.settings ctrlproxy.pc])
142 AC_OUTPUT