1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT(server/server.c)
5 test -d h/zephyr || mkdir h/zephyr
7 test -z "$lbindir" && lbindir='${bindir}'
8 test -z "$lsbindir" && lsbindir='${sbindir}'
13 AC_DEFINE_UNQUOTED(MACHINE_TYPE, "$host")
15 dnl Checks for programs.
23 AC_MSG_CHECKING(location of temporary directory)
24 if test -d /var/tmp; then
26 elif test -d /usr/tmp; then
31 AC_DEFINE_UNQUOTED(FOUND_TMP, "${found_tmp}")
32 AC_MSG_RESULT(${found_tmp})
34 dnl Checks for header files.
38 AC_CHECK_HEADERS(fcntl.h paths.h termios.h sgtty.h unistd.h malloc.h)
39 AC_CHECK_HEADERS(sys/filio.h sys/ioctl.h sys/time.h sys/file.h sys/utsname.h)
40 AC_CHECK_HEADERS(sys/select.h sys/msgbuf.h sys/cdefs.h krb5_err.h)
42 if test "$no_x" != "yes"; then
49 dnl Checks for typedefs, structures, and compiler characteristics.
52 AC_CHECK_SIZEOF(short)
55 AC_MSG_CHECKING(for 32-bit integer type)
56 if test "$ac_cv_sizeof_long" = 4; then
58 elif test "$ac_cv_sizeof_int" = 4; then
60 elif test "$ac_cv_sizeof_short" = 4; then
63 AC_WARN([Can't find 32-bit type, using long])
66 AC_DEFINE_UNQUOTED(ZEPHYR_INT32, ${int32})
67 AC_MSG_RESULT(${int32})
69 AC_CHECK_LIB(w, wslen)
70 AC_CHECK_LIB(dl, dlopen)
72 AC_SEARCH_LIBS(gethostbyname, nsl)
73 AC_SEARCH_LIBS(socket, socket)
75 # Hesiod needs -lresolv on Sun systems for res_send.
76 if test "$hesiod" != "no"; then
77 AC_CHECK_LIB(44bsd, strerror)
78 AC_CHECK_LIB(resolv, res_send)
79 AC_CHECK_LIB(resolv, __res_send)
82 AC_CHECK_LIB(curses, tgetstr, [TLIB=-lcurses], [TLIB=-ltermcap])
83 AC_CHECK_LIB(src, srcsrpy, [SLIB=-lsrc; AC_DEFINE(HAVE_SRC)])
95 LIBS="$KRB5_LIBS $KRB4_LIBS $HESIOD_LIBS $LIBS"
97 dnl Checks for library functions.
98 AC_PROG_GCC_TRADITIONAL
102 AC_CHECK_FUNCS(putenv strchr memcpy memmove waitpid getlogin strerror random)
103 AC_CHECK_FUNCS(lrand48 gethostid getsid getpgid krb_get_err_text krb_log)
104 AC_CHECK_FUNCS(krb5_free_data krb5_c_make_checksum krb5_cc_set_default_name)
106 AC_MSG_CHECKING(for krb5_auth_con_getauthenticator taking double pointer)
107 AC_CACHE_VAL(ac_cv_krb5_auth_con_getauthenticator_takes_double_pointer, [
108 local_save_CPPFLAGS="$CPPFLAGS"
109 CPPFLAGS="${CPPFLAGS} ${KRB5_INC_FLAGS}"
111 [#define socklen_t int
115 krb5_auth_con_getauthenticator(krb5_context context,
116 krb5_auth_context auth_context,
117 krb5_authenticator *authenticator);],
118 [krb5_error_code foo = krb5_auth_con_getauthenticator(0, 0, 0);],
119 ac_cv_krb5_auth_con_getauthenticator_takes_double_pointer=no,
120 ac_cv_krb5_auth_con_getauthenticator_takes_double_pointer=yes)
122 CPPFLAGS="${local_save_CPPFLAGS}"
123 if test "$ac_cv_krb5_auth_con_getauthenticator_takes_double_pointer" = yes; then
124 AC_DEFINE(KRB5_AUTH_CON_GETAUTHENTICATOR_TAKES_DOUBLE_POINTER)dnl
126 AC_MSG_RESULT($ac_cv_krb5_auth_con_getauthenticator_takes_double_pointer)
128 AC_MSG_CHECKING(for enc_part2 in struct krb5_ticket)
129 AC_CACHE_VAL(ac_cv_have_krb5_ticket_enc_part2, [
130 local_save_CPPFLAGS="$CPPFLAGS"
131 CPPFLAGS="${CPPFLAGS} ${KRB5_INC_FLAGS}"
133 [#include <krb5.h>], [krb5_ticket _tkt; _tkt.enc_part2;],
134 ac_cv_have_krb5_ticket_enc_part2=yes,
135 ac_cv_have_krb5_ticket_enc_part2=no)
137 CPPFLAGS="${local_save_CPPFLAGS}"
138 if test "$ac_cv_have_krb5_ticket_enc_part2" = yes; then
139 AC_DEFINE(HAVE_KRB5_TICKET_ENC_PART2)dnl
141 AC_MSG_RESULT($ac_cv_have_krb5_ticket_enc_part2)
143 AC_MSG_CHECKING(for enctype in struct krb5_keyblock)
144 AC_CACHE_VAL(ac_cv_have_krb5_creds_keyblock_enctype, [
145 local_save_CPPFLAGS="$CPPFLAGS"
146 CPPFLAGS="${CPPFLAGS} ${KRB5_INC_FLAGS}"
148 [#include <krb5.h>], [krb5_creds _creds; _creds.keyblock.enctype;],
149 ac_cv_have_krb5_creds_keyblock_enctype=yes,
150 ac_cv_have_krb5_creds_keyblock_enctype=no)
152 CPPFLAGS="${local_save_CPPFLAGS}"
153 if test "$ac_cv_have_krb5_creds_keyblock_enctype" = yes; then
154 AC_DEFINE(HAVE_KRB5_CREDS_KEYBLOCK_ENCTYPE)dnl
156 AC_MSG_RESULT($ac_cv_have_krb5_creds_keyblock_enctype)
158 AC_CONFIG_HEADER(h/config.h)
159 AC_OUTPUT(Makefile clients/Makefile clients/xzwrite/Makefile
160 clients/zaway/Makefile clients/zctl/Makefile
161 clients/zleave/Makefile clients/zlocate/Makefile
162 clients/zmailnotify/Makefile clients/znol/Makefile
163 clients/zpopnotify/Makefile clients/zshutdown_notify/Makefile
164 clients/zstat/Makefile clients/zwrite/Makefile lib/Makefile
165 libdyn/Makefile server/Makefile zhm/Makefile zwgc/Makefile)