add manpage section
[jelmer/krb5-auth-dialog.git] / configure.ac
1 AC_INIT(src/krb5-auth-dialog.c)
2
3 AM_INIT_AUTOMAKE(krb5-auth-dialog, 0.7)
4 AM_CONFIG_HEADER(config.h)
5
6 AM_MAINTAINER_MODE
7
8 GETTEXT_PACKAGE=krb5-auth-dialog
9 AC_SUBST(GETTEXT_PACKAGE)
10 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
11
12
13 AC_PROG_CC
14 AC_ISC_POSIX
15 AC_HEADER_STDC
16 AM_PROG_LIBTOOL
17 AC_PROG_INTLTOOL
18 AM_PROG_LEX
19 AC_PROG_YACC
20
21 ALL_LINGUAS="nb"
22 AM_GLIB_GNU_GETTEXT
23
24 GTK_REQUIRED="2.4.0"
25 GLADE_REQUIRED="2.4.0"
26 DBUS_REQUIRED="0.60"
27 GCONF_REQUIRED="2.8"
28 LIBNOTIFY_REQUIRED="0.4"
29
30 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
31 PKG_CHECK_MODULES(GLADE, libglade-2.0 >= $GLADE_REQUIRED)
32 PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= $DBUS_REQUIRED)
33 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= $GCONF_REQUIRED)
34
35 dnl --enable-debug=(yes|no)
36 AC_ARG_ENABLE(debug,
37               AC_HELP_STRING([--enable-debug=no/yes],
38                              [enable debugging output]),[],[enable_debug=no])
39 if test x"$enable_debug" = x"yes"; then
40    AC_DEFINE(ENABLE_DEBUG, 1, [whether debugging is enabled])
41 fi
42
43
44 AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin)
45 if test "x$KRB5_CONFIG" != "xnone"; then
46    KRB5_LIBS="`${KRB5_CONFIG} --libs krb5`"
47    KRB5_CFLAGS="`${KRB5_CONFIG} --cflags krb5`"
48    AC_SUBST(KRB5_CFLAGS)
49    AC_SUBST(KRB5_LIBS)
50 fi
51
52 dnl Check for API differences between Heimdal and MIT Kerberos
53 savedCFLAGS="$CFLAGS"
54 CFLAGS="$KRB5_CFLAGS $CFLAGS"
55 savedLIBS="$LIBS"
56 LIBS="$KRB5_LIBS $LIBS"
57 AC_CHECK_MEMBERS(krb5_creds.ticket_flags,,,[#include <krb5.h>])
58 AC_CHECK_MEMBERS(krb5_creds.flags.b.forwardable,,,[#include <krb5.h>])
59 AC_CHECK_MEMBERS(krb5_creds.flags.b.renewable,,,[#include <krb5.h>])
60 AC_CHECK_MEMBERS(krb5_creds.flags.b.proxiable,,,[#include <krb5.h>])
61 AC_CHECK_MEMBERS(krb5_creds.flags,,,[#include <krb5.h>])
62 AC_CHECK_FUNCS([krb5_get_renewed_creds])
63 AC_MSG_CHECKING(if a krb5_principal->realm is a char*)
64 AC_COMPILE_IFELSE([
65 $ac_includes_default
66 #include <krb5.h>
67 #include <string.h>
68 int
69 main(int argc, char **argv)
70 {
71         static krb5_principal foo;
72         return strlen(foo->realm);
73 }],[AC_DEFINE(HAVE_KRB5_PRINCIPAL_REALM_AS_STRING,1,[Define if the realm of a krb5_principal is a char*])
74 AC_MSG_RESULT(yes)],
75 AC_MSG_RESULT(no))
76
77 AC_MSG_CHECKING(if a krb5_principal->realm is a krb5_data)
78 AC_COMPILE_IFELSE([
79 $ac_includes_default
80 #include <krb5.h>
81 int
82 main(int argc, char **argv)
83 {
84         static krb5_principal foo;
85         static krb5_data bar;
86         foo->realm = bar;
87         return 0;
88 }],[AC_DEFINE(HAVE_KRB5_PRINCIPAL_REALM_AS_DATA,1,[Define if the realm of a krb5_principal is a krb5_data])
89 AC_MSG_RESULT(yes)],
90 AC_MSG_RESULT(no))
91 CFLAGS="$savedCFLAGS"
92 LIBS="$savedLIBS"
93
94 dnl NetworkManager
95 AC_MSG_CHECKING([whether to enable NetworkManager support])
96 AC_ARG_ENABLE([network-manager],
97         AS_HELP_STRING([--enable-network-manager],[Whether to enable automatic network status with NetworkManager]),
98         [],[enable_network_manager=autodetect])
99 AC_MSG_RESULT([$enable_network_manager])
100
101 if test "x$enable_network_manager" != "xno"; then
102         PKG_CHECK_MODULES([NETWORK_MANAGER],[libnm_glib >= 0.5],
103                 [enable_network_manager=yes],[enable_network_manager=no])
104         AC_SUBST([NETWORK_MANAGER_CFLAGS])
105         AC_SUBST([NETWORK_MANAGER_LIBS])
106 fi
107
108 if test "x$enable_network_manager" = "xyes"; then
109         AC_DEFINE([ENABLE_NETWORK_MANAGER],[1],[Define for NetworkManager support])
110 fi
111 AM_CONDITIONAL([ENABLE_NETWORK_MANAGER],[test "x$enable_network_manager" = "xyes"])
112
113 dnl libnotify
114 LIBNOTIFY_CFLAGS=
115 LIBNOTIFY_LIBS=
116 AC_ARG_WITH(libnotify,
117   [  --with-libnotify   use libnotify for status messages],
118   [],
119   [with_libnotify=check])
120
121 if test "x$with_libnotify" = "xyes" -o "x$with_libnotify" = "xcheck"; then
122   PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED,
123     [with_libnotify=yes], [
124     if test "x$with_libnotify" = "xcheck" ; then
125        with_libnotify=no
126     else
127        AC_MSG_ERROR(
128          [You must install libnotify >= $LIBNOTIFY_REQUIRED to compile krb5-auth-dialog])
129     fi
130   ])
131   if test "x$with_libnotify" = "xyes" ; then
132     AC_DEFINE_UNQUOTED(HAVE_LIBNOTIFY, 1,
133       [use libnotify for status messages])
134   fi
135 fi
136 AM_CONDITIONAL(HAVE_LIBNOTIFY, [test "x$with_libnotify" = "xyes"])
137 AC_SUBST(LIBNOTIFY_CFLAGS)
138 AC_SUBST(LIBNOTIFY_LIBS)
139
140 check_interval=30
141 AC_DEFINE_UNQUOTED(CREDENTIAL_CHECK_INTERVAL,[$check_interval],
142                    [Define the to number of seconds to wait between checks of
143                     the Kerberos credential cache.])
144 AC_SUBST(check_interval)
145
146 minimum_lifetime=30
147 AC_DEFINE_UNQUOTED(MINUTES_BEFORE_PROMPTING,[$minimum_lifetime],
148                    [Define the to the minimum amount of time (m) a credential
149                     will have to be valid before we'll ask the user to get
150                     fresh credentials.])
151 AC_SUBST(minimum_lifetime)
152
153 CFLAGS="\
154         $GTK_CFLAGS \
155         $GLADE_CFLAGS \
156         $DBUS_CFLAGS \
157         $GCONF_CFLAGS \
158         $KRB5_CFLAGS \
159         $NETWORK_MANAGER_CFLAGS \
160         $LIBNOTIFY_CFLAGS \
161         $CFLAGS"
162
163 AC_OUTPUT([
164 Makefile
165 krb5-auth-dialog.spec
166 src/Makefile
167 src/krb5-auth-dialog.1
168 icons/Makefile
169 etpo/Makefile
170 po/Makefile.in
171 ])
172
173 AC_MSG_NOTICE([])
174 AC_MSG_NOTICE([Configuration summary])
175 AC_MSG_NOTICE([=====================])
176 AC_MSG_NOTICE([])
177 AC_MSG_NOTICE([Libraries])
178 AC_MSG_NOTICE([])
179 AC_MSG_NOTICE([         kerberos: $KRB5_CFLAGS $KRB5_LIBS])
180 AC_MSG_NOTICE([              gtk: $GTK_CFLAGS $GTK_LIBS])
181 AC_MSG_NOTICE([            glade: $GLADE_CFLAGS $GLADE_LIBS])
182 AC_MSG_NOTICE([             dbus: $DBUS_CFLAGS $DBUS_LIBS])
183 AC_MSG_NOTICE([            gconf: $GCONF_CFLAGS $GCONF_LIBS])
184 if test "$with_libnotify" = "yes" ; then
185 AC_MSG_NOTICE([        libnotify: $LIBNOTIFY_CFLAGS $LIBNOTIFY_LIBS])
186 else
187 AC_MSG_NOTICE([        libnotify: no])
188 fi
189 if test "$enable_network_manager" = "yes" ; then
190 AC_MSG_NOTICE([  Network Manager: $NETWORK_MANAGER_CFLAGS $NETWORK_MANAGER_LIBS])
191 else
192 AC_MSG_NOTICE([  Network Manager: no])
193 fi
194 AC_MSG_NOTICE([])
195 AC_MSG_NOTICE([Miscellaneous])
196 AC_MSG_NOTICE([])
197 AC_MSG_NOTICE([  Minimum Lifetime: $minimum_lifetime minutes])
198 AC_MSG_NOTICE([    Check Interval: $check_interval seconds])
199 AC_MSG_NOTICE([])
200