1 dnl Autoconfigure input file for fetchmail
2 dnl Eric S. Raymond <esr@thyrsus.com>
3 dnl Matthias Andree <matthias.andree@gmx.de>
5 dnl Process this file with autoconf to produce a configure script.
8 AC_INIT([fetchmail],[6.3.3.rc1],[fetchmail-users@lists.berlios.de])
9 AC_CONFIG_SRCDIR([fetchmail.h])
10 AC_CONFIG_HEADERS([config.h])
11 AC_CONFIG_LIBOBJ_DIR([.])
15 dnl automake options are in Makefile.am
19 dnl autobuild support, see <http://josefsson.org/autobuild/>
26 dnl python is optional
27 AM_PATH_PYTHON(2.0,,AC_MSG_WARN([Disabling fetchmailconf: python 2.0 or greater not found]))
28 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
33 AC_PROG_CPP dnl Later checks need this.
44 AC_CHECK_TYPE(u_int32_t,unsigned int)
45 AC_CHECK_HEADERS([unistd.h termios.h termio.h sgtty.h stdarg.h \
46 sys/itimer.h fcntl.h sys/fcntl.h memory.h sys/wait.h \
47 arpa/inet.h arpa/nameser.h netinet/in.h net/socket.h \
48 sys/select.h sys/socket.h sys/time.h langinfo.h])
49 AC_CHECK_HEADERS([resolv.h],,,[
50 #include <sys/types.h>
51 #ifdef HAVE_NETINET_IN_H
52 #include <netinet/in.h>
54 #ifdef HAVE_ARPA_NAMESER_H
55 #include <arpa/nameser.h>
59 AC_C_CONST dnl getopt needs this.
65 # Check for OS special cases
68 AC_MSG_NOTICE(found Darwin - Adding -DBIND_8_COMPAT to CFLAGS)
69 CPFLAGS="-DBIND_8_COMPAT"
71 # Check for FreeBSD special case: more libs needed
73 AC_MSG_NOTICE(found FreeBSD - Adding -lmd -lkvm -lcom_err to standard libraries)
74 LIBS="$LIBS -lmd -lkvm -lcom_err"
76 # Check for LynxOS special case: -lbsd needed (at least on 2.3.0) and -s
79 AC_MSG_NOTICE(found LynxOS - Adding -lbsd to standard libraries)
81 LDFLAGS=`echo $LDFLAGS | sed "s/-s //"`
82 AC_MSG_NOTICE(found LynxOS - Prepending standard include path to gcc flags)
83 CPFLAGS="-I/usr/include"
85 # Check for Rhapsody special case: it doesn't like -s
87 AC_MSG_NOTICE(found Rhapsody - Removing -s load flag)
88 LDFLAGS=`echo $LDFLAGS | sed "s/-s //"`
93 AM_GNU_GETTEXT([external], [need-ngettext])
94 AM_GNU_GETTEXT_VERSION(0.14.3)
97 # Under sysV68, socket and friends are provided by the C library.
98 # -linet does not provide socket, but causes multiple definition
99 # errors at link-time. It is thus better to only use the C library.
100 # So don't add -linet to the link list unless it's necessary
101 AC_CHECK_FUNC(socket,
102 AC_MSG_RESULT(using libc's socket),
103 AC_CHECK_LIB(socket,socket)
104 AC_CHECK_LIB(inet,socket))
106 # The condition in this test copes with the presence of inet_addr in libc6.
107 AC_CHECK_FUNC(inet_addr,
108 AC_MSG_RESULT(using libc's inet_addr),
109 AC_CHECK_LIB(nsl,inet_addr))
111 dnl Port hack for Interactive UNIX System V/386 Release 3.2
112 AC_CHECK_LIB(cposix, strchr,
113 [DEFS="$DEFS -D_SYSV3"
114 LIBS="$LIBS -lcposix"])
116 dnl Port hack for Sparc/NetBSD-1.5
118 dnl NB: this has been disabled as it causes the unconditional
119 dnl addition of libintl to the build, which is both undesired
120 dnl and breaks on Solaris/Blastwave.org machines.
122 dnl AC_CHECK_LIB(intl, gettext,
123 dnl [LIBS="$LIBS -lintl"])
125 AC_REPLACE_FUNCS([strstr strcasecmp memmove stpcpy strlcpy strlcat])
127 AC_CHECK_FUNC(MD5Init, [],
128 [AC_LIBSOURCE(md5c.c)
129 EXTRAOBJ="$EXTRAOBJ md5c.\$(OBJEXT)"])
131 AC_CHECK_FUNC(getopt_long, [],
132 [AC_LIBSOURCES([getopt.c, getopt1.c])
133 EXTRAOBJ="$EXTRAOBJ getopt.\$(OBJEXT) getopt1.\$(OBJEXT)"])
139 AC_CHECK_FUNCS(tcsetattr stty setsid geteuid seteuid dnl
140 res_search strerror syslog snprintf vprintf vsnprintf vsyslog dnl
141 atexit inet_aton strftime setrlimit socketpair sigprocmask dnl
142 sigaction strdup setlocale)
144 AC_CHECK_DECLS(strerror)
146 # Under Red Hat 4.0 (and many other Linuxes) -lresolv is seriously flaky
147 # and breaks gethostbyname(2). It's better to use the bind stuff in the C
148 # library. So don't add -lresolv to the link list unless it's necessary
149 # (It will be necessary when using GNU libc6).
150 AC_CHECK_FUNC(res_search,
151 AC_MSG_RESULT(using libc's resolver functions),
152 AC_CHECK_LIB(resolv,res_search,
153 [AC_DEFINE(HAVE_RES_SEARCH) AC_MSG_RESULT(found resolver functions in libresolv); LIBS="$LIBS -lresolv"], AC_MSG_RESULT(no resolver calls found)))
155 dnl Check for libcrypt -- it may live in libc or libcrypt, as on IRIX
156 AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt,crypt))
158 dnl Check for RSA refersence library in case we're using SSL
159 AC_CHECK_LIB(rsaref, RSAPublicDecrypt)
161 dnl AC_FUNC_SETVBUF_REVERSED
163 dnl Check for usable void pointer type
164 AC_MSG_CHECKING(use of void pointer type)
165 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[char *p;
167 p = (char *) xmalloc(1);
168 ]])],[AC_DEFINE(HAVE_VOIDPOINTER,1,[Define if your C compiler allows void * as a function result]) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
170 dnl Check for ANSI volatile
173 dnl Check out the wait reality. We have to assume sys/wait.h is present.
174 AC_CHECK_FUNCS(waitpid wait3)
175 AC_MSG_CHECKING(for union wait);
176 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
177 #include <sys/wait.h>]], [[union wait status; int pid; pid = wait (&status);
179 /* Some POSIXoid systems have both the new-style macros and the old
180 union wait type, and they do not work together. If union wait
181 conflicts with WEXITSTATUS et al, we don't want to use it at all. */
182 if (WEXITSTATUS (status) != 0) pid = -1;
185 /* Make sure union wait works with waitpid. */
186 pid = waitpid (-1, &status, 0);
188 ]])],[AC_DEFINE(HAVE_UNION_WAIT,1,Define if 'union wait' is the type of the first arg to wait functions.) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
190 AC_MSG_CHECKING(sys_siglist declaration in signal.h or unistd.h)
191 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>
192 /* NetBSD declares sys_siglist in <unistd.h>. */
195 #endif]], [[char *msg = *(sys_siglist + 1);]])],[AC_DEFINE(SYS_SIGLIST_DECLARED,1,[Define if 'sys_siglist' is declared by <signal.h>.]) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
197 # Find the right directory to put the root-mode PID file in
198 for dir in "/var/run" "/etc"
205 AC_MSG_RESULT(root-mode pid file will go in $dir)
206 AC_DEFINE_UNQUOTED(PID_DIR, "$dir", directory for PID lock files)
208 # We may have a fallback MDA available in case the socket open to the
209 # local SMTP listener fails. Best to use procmail for this, as we know
210 # it won't try delivering through local SMTP and cause a mail loop.
211 # Sendmail without the -t option to use the message headers will work too,
212 # not just for sendmail itself but for workalikes like exim.
214 # Note1: A disadvantage of using procmail is that local alias expansion
215 # according to /etc/aliases won't get done if we fall back. This doesn't
216 # matter in single-drop mode.
218 # Note2: it would be a very bad idea to use any MDA that doesn't return
219 # a refuse-to-deliver status on disk- or process-table-full
220 # conditions; mail could get lost that way. Sendmail and all of the MDAs
221 # like exim that might be lurking under a sendmail alias) do the right
222 # thing in this circumstance. Matthias Andree warns that procmail does
225 # Note3: Defalt value of fallback is now off. Matthias writes:
227 # 1. there is no way to predict when the fallback is used. With some MTAs
228 # (such as those limiting load average), outer circumstances can cause
229 # the fallback to kick in.
231 # 2. the fallback changes fetchmail behaviour in unpredictable ways. It's
232 # not only about alias expansion, .forwards to special filters won't
233 # work, mail may end up in a different place (users claim "mail loss"
236 # 3. The claim procmail did the right thing with its exit codes is plain
237 # wrong. I've seen procmail exit with code 1 when it should have exited
238 # with code 75, like, configuration errors. Procmail is a dangerous
239 # beast and is best replaced by maildrop.
241 # 4. if multiple choices exist (like procmail and maildrop), fetchmail
242 # cannot tell which one it should choose. Say, your MTA is configured
243 # to use maildrop to deliver to user's mailboxes, if fetchmail then
244 # chooses procmail, this is plain wrong.
247 AC_PATH_PROG(procmail, procmail, "", $PATH:/usr/sbin)
248 AC_PATH_PROG(sendmail, sendmail, "", $PATH:/usr/sbin:/usr/lib)
249 AC_PATH_PROG(maildrop, maildrop, "", $PATH:/usr/local/bin)
251 ### use option --disable-fallback to disable fallback MDA
252 ### use option --enable-fallback=procmail or
253 ### --enable-fallback=sendmail to select
254 AC_ARG_ENABLE(fallback,
255 [ --enable-fallback=procmail enable procmail as fallback
256 --enable-fallback=sendmail enable /usr/sbin/sendmail as fallback
257 --enable-fallback=maildrop enable maildrop as fallback
258 --enable-fallback=no disable fallback],,[enable_fallback=no])
260 case "$enable_fallback" in
261 sendmail) if test -z "$sendmail" ; then
262 AC_MSG_ERROR([Sendmail selected as fallback, but not found])
265 AC_DEFINE_UNQUOTED(FALLBACK_MDA, "$sendmail -i %T", Fallback MTA to use if defined)
266 AC_MSG_NOTICE(Will use $sendmail as fallback MDA.)
268 procmail) if test -z "$procmail" ; then
269 AC_MSG_ERROR([procmail selected as fallback, but not found])
272 AC_DEFINE_UNQUOTED(FALLBACK_MDA, "$procmail -d %T")
273 AC_MSG_NOTICE(Will use $procmail as fallback MDA.)
275 maildrop) if test -z "$maildrop" ; then
276 AC_MSG_ERROR([maildrop selected as fallback, but not found])
279 AC_DEFINE_UNQUOTED(FALLBACK_MDA, "$maildrop -d %T")
280 AC_MSG_NOTICE(Will use $maildrop as fallback MDA.)
282 no|unset) AC_MSG_NOTICE(Will not use a fallback MDA.)
284 auto|yes|set) if test -n "$sendmail" ; then
285 AC_DEFINE_UNQUOTED(FALLBACK_MDA,"$sendmail -i %T")
286 AC_MSG_NOTICE(Will use $sendmail as fallback MDA.)
288 AC_MSG_WARN(No fallback MDA available. procmail and maildrop are not eligible)
289 AC_MSG_WARN(for automatic fallback MDA configuration for reliability reasons.)
292 *) AC_MSG_ERROR([unkown value for --enable-fallback given: $enable_fallback])
297 AC_CHECK_SIZEOF(short)
299 AC_CHECK_SIZEOF(long)
301 ### use option --enable-POP2 to compile in the POP2 support
303 [ --enable-POP2 compile in POP2 protocol support (obsolete)],
304 [with_POP2=$enableval],
306 test "$with_POP2" = "yes" && AC_DEFINE(POP2_ENABLE,1,Define if you want POP2 support compiled in)
308 ### use option --disable-POP3 to omit the POP3 support
310 [ --disable-POP3 don't compile in POP3 protocol support],
311 [with_POP3=$enableval],
313 test "$with_POP3" = "yes" && AC_DEFINE(POP3_ENABLE,1,Define if you want POP3 support compiled in)
315 ### use option --disable-IMAP to omit the IMAP support
317 [ --disable-IMAP don't compile in IMAP protocol support],
318 [with_IMAP=$enableval],
320 test "$with_IMAP" = "yes" && AC_DEFINE(IMAP_ENABLE,1,"Define if you want IMAP support compiled in")
322 ### use option --disable-ETRN to omit the ETRN support
324 [ --disable-ETRN don't compile in ETRN protocol support],
325 [with_ETRN=$enableval],
327 test "$with_ETRN" = "yes" && AC_DEFINE(ETRN_ENABLE,1,Define if you want ETRN support compiled in.)
329 ### use option --disable-ODMR to omit the ODMR support
331 [ --disable-ODMR don't compile in ODMR protocol support],
332 [with_ODMR=$enableval],
334 test "$with_ODMR" = "yes" && AC_DEFINE(ODMR_ENABLE,1,Define if you want ODMR support compiled in)
336 ### use option --enable-RPA to compile in the RPA support
338 [ --enable-RPA compile in RPA protocol support],
339 [with_RPA=$enableval],
341 test "$with_RPA" = "yes" && AC_DEFINE(RPA_ENABLE,1,Define if you want RPA support compiled in)
343 ### use option --enable-NTLM to compile in the NTLM support
345 [ --enable-NTLM compile in NTLM authentication support],
346 [with_NTLM=$enableval],
348 test "$with_NTLM" = "yes" && AC_DEFINE(NTLM_ENABLE,1,Define if you want NTLM authentication)
350 ### use option --enable-SDPS to compile in the SDPS support
352 [ --enable-SDPS compile in SDPS protocol support],
353 [with_SDPS=$enableval],
355 if test "$with_SDPS" = yes ; then
356 if test "$with_POP3" != yes ; then
357 AC_MSG_WARN([SDPS cannot be enabled with POP3 disabled. Disabling SDPS.])
360 AC_DEFINE(SDPS_ENABLE,1,Define if you want SDPS support compiled in)
364 ### use option --enable-opie to compile in the OPIE support
366 [ --enable-opie support OTP through the OPIE library],
367 [ AC_CHECK_HEADER(opie.h,, [AC_MSG_ERROR(cannot find <opie.h>, which is required for OPIE support.)])
368 AC_CHECK_LIB(opie,opiegenerator,, [AC_MSG_ERROR(cannot find libopie, which is required for OPIE support.)])
369 with_opie=$enableval],
371 test "$with_opie" = "yes" && AC_DEFINE(OPIE_ENABLE,1,Define if you want OPIE support compiled in)
373 AC_SEARCH_LIBS(getaddrinfo, inet6, [AC_DEFINE(HAVE_GETADDRINFO,1,[define to 1 if you have the getaddrinfo function])])
374 AC_CHECK_FUNCS(getnameinfo)
376 # This version of the Kerberos 4 and 5 options addresses the follwing issues:
378 # * Build correctly under Heimdal kerberos if it is compiled with db2 and
379 # OpenSSL support (Debian's is)
380 # * Build the kerberos.c stuff (KPOP) only for kerberosIV, to avoid breakage.
381 # I don't know if this is 100% correct, but now at least IMAP and POP3
382 # behave the same way regarding kerberosV.
383 # * Build without any fuss for both kerberosIV and V at the same time.
384 # * Move all the kerberos header mess to kerberos.h, and #include that
385 # in driver.c and kerberos.c.
387 # Tested using the Heimdal Kerberos V libs, Kungliga Tekniska Högskolan (the
388 # Royal Institute of Technology in Stockholm, Sweden)'s kerberos IV libs, and
389 # the MIT reference implementation of KerberosV (all as packaged in Debian).
391 ### use option --with-kerberos5=DIR to point at a Kerberos 5 directory
392 ### make sure --with-ssl is run before --with-kerberos* !
393 AC_ARG_WITH(kerberos5,
394 [ --with-kerberos5=DIR point fetchmail compilation at a Kerberos 5 directory],
396 if test "$with_kerberos5" != "no"
398 # Check for a OpenBSD special case
399 if test "$with_kerberos5" = "yes" && ( test `uname` = "OpenBSD" )
401 AS_MESSAGE(checking kerberosV for OpenBSD...)
402 AC_DEFINE(HEIMDAL,1,Define if you have HEIMDAL kerberos 5)
403 AC_DEFINE(KERBEROS_V5,1,Define if you have Kerberos V5)
404 CEFLAGS="$CEFLAGS -I/usr/include/kerberosV"
405 LIBS="$LIBS -lasn1 -lkrb5 -lcom_err -lkafs"
406 elif krb5-config 2> /dev/null >/dev/null ; then
407 krb5_prefix=`krb5-config --prefix krb5`
408 AC_MSG_RESULT([krb5-config points to kerberosV under $krb5_prefix])
409 if test -f ${krb5_prefix}/include/et/com_err.h && \
410 ! test -f ${krb5_prefix}/include/com_err.h ; then
411 CEFLAGS="$CEFLAGS -I${krb5_prefix}/include/et"
414 CEFLAGS="$CEFLAGS `krb5-config --cflags krb5`"
415 LIBS="$LIBS `krb5-config --libs krb5`"
416 AC_DEFINE(KERBEROS_V5)
418 if test "$with_kerberos5" != "yes"
420 LDEFLAGS="$LDEFLAGS -L${with_kerberos5}/lib"
421 searchdirs="$with_kerberos5"
423 searchdirs="/usr/kerberos /usr/local/krb5 /usr/athena /usr"
426 for dir in $searchdirs
427 do AC_MSG_CHECKING([for Kerberos V in $dir])
428 if test -f "$dir/include/krb5.h"
431 if test -f "$dir/include/roken.h"
433 ac_krblibs="-lasn1 -lroken -lcom_err"
434 AC_MSG_RESULT([Heimdal found])
435 dnl Attempt to detect if we need to -ldb2 to link Heimdal
436 dnl we assume we do if it is available
437 AC_CHECK_LIB(db2, db_open, ac_krblibs="$ac_krblibs -ldb2", [],
439 AC_CHECK_LIB(des, des_string_to_key, libk5crypto=-ldes,
440 AC_CHECK_LIB(ssl, MD5_Init, [],
441 AC_MSG_ERROR([DES libraries not found. Try adding --with-ssl to enable OpenSSL support]),
442 ${LDEFLAGS} ${ac_krblibs}),
443 ${LDEFLAGS} ${ac_krblibs})
446 AC_MSG_RESULT([found])
447 ac_krblibs="-lcom_err"
449 krb5_des_string_to_key,
450 libk5crypto=-lcrypto,
451 AC_CHECK_LIB(k5crypto,
452 krb5_des_string_to_key,
453 libk5crypto=-lk5crypto,
454 AC_MSG_ERROR([Kerberos 5 DES libraries not found]),
455 ${LDEFLAGS} ${ac_krblibs}),
456 ${LDEFLAGS} ${ac_krblibs})
458 AC_CHECK_LIB(krb5, krb5_init_context,[],
460 ${LDEFLAGS} ${ac_krblibs})
461 AC_DEFINE(KERBEROS_V5)
462 test "$dir" != "/usr" && CEFLAGS="$CEFLAGS -I$dir/include"
463 LDEFLAGS="$LDEFLAGS -L$dir/lib"
464 LIBS="$LIBS $ac_krblibs $libk5crypto"
468 AC_MSG_RESULT([not found])
471 if test -z "$with_kerberos5" ; then
472 AC_MSG_ERROR([Kerberos 5 libraries not found])
476 ]) dnl --with-kerberos5=DIR
478 ### use option --with-kerberos=DIR to point at a Kerberos 4 directory
479 AC_ARG_WITH(kerberos,
480 [ --with-kerberos=DIR point fetchmail compilation at a Kerberos 4 directory],
482 if test "$with_kerberos" != "no"
484 # Check for a NetBSD/OpenBSD special case
485 if test "$with_kerberos" = "yes" && ( test `uname` = "NetBSD" || test `uname` = "OpenBSD" )
487 AS_MESSAGE(checking kerberosIV for `uname`...)
488 AC_DEFINE(KERBEROS_V4,1,Define if you have Kerberos V4)
489 CEFLAGS="$CEFLAGS -I/usr/include/kerberosIV"
490 LIBS="$LIBS -lkrb -ldes"
491 elif krb4-config 2> /dev/null >/dev/null ; then
492 krb4_prefix=`krb4-config --prefix`
493 AC_MSG_RESULT([krb4-config points to kerberosIV under $krb4_prefix])
495 CEFLAGS="$CEFLAGS `krb4-config --cflags`"
496 LIBS="$LIBS `krb4-config --libs`"
497 AC_DEFINE(KERBEROS_V4)
498 elif krb5-config 2> /dev/null >/dev/null ; then
499 krb4_prefix=`krb5-config --prefix krb4`
500 AC_MSG_RESULT([krb5-config points to kerberosIV under $krb4_prefix])
501 if test -f ${krb4_prefix}/include/kerberosIV/krb.h ; then
502 AC_DEFINE(KERBEROS_V4_V5,1,Define if you have Kerberos V4 headers under a kerberosIV directory)
505 CEFLAGS="$CEFLAGS `krb5-config --cflags krb4`"
506 LIBS="$LIBS `krb5-config --libs krb4`"
507 AC_DEFINE(KERBEROS_V4)
509 #we need to detect when we're building under a kerberosV compatibility
511 if test "$with_kerberos" != "yes" ; then
512 searchdirs="$with_kerberos"
514 searchdirs="$with_kerberos5 /usr/kerberos /usr/kerberosIV /usr/athena /usr"
517 ac_saveLDFLAGS="$LDFLAGS"
518 for dir in $searchdirs
520 AC_MSG_CHECKING([for Kerberos IV in $dir])
521 if test -f "$dir/include/krb.h" || test -f "$dir/include/krb4.h" \
522 || test -f "$dir/include/kerberosIV/krb.h"
524 AC_MSG_RESULT([found])
526 AC_MSG_RESULT([not found])
530 if test -f "$with_kerberos5/roken.h" ; then
531 AC_CHECK_LIB(45, krb_mk_req)
533 LDFLAGS="-L$dir/lib $ac_saveLDFLAGS"
534 if test `uname` = "FreeBSD"; then
535 AC_SEARCH_LIBS(_ossl_old_des_string_to_key, [des425 des crypto], [], continue)
537 AC_SEARCH_LIBS(des_string_to_key, [crypto], [], continue)
539 AC_SEARCH_LIBS(krb_realmofhost, [krb4 krb], [], continue)
541 if test -f "$dir/include/kerberosIV/krb.h" ; then
542 dir="$dir/include/kerberosIV"
546 AC_DEFINE(KERBEROS_V4)
547 test -f "$with_kerberos5/roken.h" && AC_DEFINE(HEIMDAL)
548 test "$dir" != "/usr/include" && CEFLAGS="$CEFLAGS -I$dir"
549 LDEFLAGS="$LDEFLAGS -L$with_kerberos/lib"
552 if test -z "$with_kerberos" ; then
553 AC_MSG_ERROR([Kerberos 4 libraries not found])
555 LDFLAGS="$ac_saveLDFLAGS"
558 ]) dnl --with-kerberos=DIR
560 ### use option --with-ssl to compile in the SSL support
562 [ --with-ssl=[DIR] enable SSL support using libraries in DIR],
565 test "$with_ssl" != "no" && AC_DEFINE(SSL_ENABLE,1,Define if you want SSL support compiled in)
567 if test "$with_ssl" = "yes"
569 # He didn't specify an SSL location. Let's look at some common
570 # directories where SSL has been found in the past and try and auto
571 # configure for SSL. OpenSSL determination will be made later.
572 # This will screw up if an OpenSSL install is located in a later
573 # directory than an older SSLeay install, but the user should fix that
574 # anyways and he can override on the configure line.
575 # Just testing for directories is not sufficient, /usr exists on
587 if test -r "$ac_dir/include/openssl/ssl.h" ; then
594 if test -n "$with_ssl" -a "$with_ssl" != "no"
596 # With the autoconfigure above, the only time this is going to be
597 # true is going to be when we could not find the headers. If they
598 # are not in system standard locations, we are going to be broken.
599 if test "$with_ssl" = "yes"
601 # Let's just define the standard location for the SSLeay root
602 with_ssl="/usr/local/ssl"
604 if test -r $with_ssl/include/openssl/ssl.h
606 ### ssl.h found under openssl. Use openssl configuration preferentially,
607 AC_MSG_NOTICE(Enabling OpenSSL support in $with_ssl.)
608 test "$with_ssl" != "/usr" && CEFLAGS="$CEFLAGS -I$with_ssl/include"
609 ### In Red Hat 9, this file includes a reference to <krb5.h>, so we
610 ### force the Kerberos direcory onto the include path so it will build.
611 CEFLAGS="$CEFLAGS -I/usr/kerberos/include"
612 ### OpenBSD comes with ssl headers
614 AC_MSG_ERROR([SSL support enabled, but OpenSSL not found])
616 LDEFLAGS="$LDEFLAGS -L$with_ssl/lib"
617 LIBS="$LIBS -lssl -lcrypto"
618 dnl check if -ldl is needed
619 AC_MSG_CHECKING([for additional library dependencies of SSL])
622 for i in "" "-ldl" ; do
623 LIBS="$LDEFLAGS $save_LIBS $i"
624 AC_LINK_IFELSE([AC_LANG_PROGRAM(,[SSL_library_init()])],[found=1; break])
626 if test $found = 0 ; then
627 AC_MSG_RESULT([error])
628 AC_MSG_ERROR([cannot link with SSL - check config.log])
631 if test "$i" = "" ; then i="(none)" ; fi
633 dnl XXX FIXME: use pkg-config if available!
634 AC_DEFINE(SSL_ENABLE)
636 AC_MSG_NOTICE(Disabling SSL support.)
639 ### use option --with-socks=DIR to point at SOCKS library
641 [ --with-socks[=DIR] add built-in SOCKS firewall access],
643 if test "$with_socks" != no
645 if test "$with_socks" != yes
647 LDEFLAGS="$LDEFLAGS -L$with_socks"
649 AC_CHECK_LIB(socks, Rconnect,,
650 AC_MSG_ERROR([could not find libsocks which is needed for built-in SOCKS support]))
652 AC_DEFINE(HAVE_SOCKS,1,Define if you want built-in SOCKS support)
653 CEFLAGS="$CEFLAGS -Dconnect=Rconnect -Dgetsockname=Rgetsockname -Dbind=Rbind -Daccept=Raccept -Dlisten=Rlisten -Dselect=Rselect"
657 ### use option --with-socks5=DIR to point at SOCKS library
659 [ --with-socks5[=DIR] add built-in SOCKS5 firewall access],
661 if test "$with_socks5" != no
663 if test "$with_socks5" != yes
665 LDEFLAGS="$LDEFLAGS -L$with_socks5"
667 ac_savedLDFLAGS="$LDFLAGS"
668 LDFLAGS="$LDEFLAGS $LDFLAGS"
669 AC_CHECK_LIB(socks5, SOCKSconnect,,
670 AC_MSG_ERROR([could not find libsocks5 which is needed for built-in SOCKS5 support]))
671 AC_DEFINE(HAVE_SOCKS)
672 CEFLAGS="$CEFLAGS -Dconnect=SOCKSconnect -Dgetsockname=SOCKSgetsockname -Dbind=SOCKSbind -Daccept=SOCKSaccept -Dlisten=SOCKSlisten -Dselect=SOCKSselect -Drecvfrom=SOCKSrecvfrom -Dsendto=SOCKSsendto -Drecv=SOCKSrecv -Dsend=SOCKSsend -Dread=SOCKSread -Dwrite=SOCKSwrite -Drresvport=SOCKSrresvport -Dshutdown=SOCKSshutdown -Dlisten=SOCKSlisten -Dclose=SOCKSclose -Ddup=SOCKSdup -Ddup2=SOCKSdup2 -Dgethostbyname=SOCKSgethostbyname"
673 AC_CHECK_FUNC(SOCKSfclose, [CFLAGS="$CFLAGS -Dfclose=SOCKSfclose"])
674 LDFLAGS="$ac_savedLDFLAGS"
677 ACX_WHICH_GETHOSTBYNAME_R
679 ### use option --with-hesiod=DIR to point at a HESIOD directory
680 AC_ma_SEARCH_PACKAGE(hesiod, hesiod_getmailhost, /usr/athena /usr /usr/local,hesiod, hesiod.h)
682 ### use option --with-gssapi=DIR to compile in GSSAPI support
684 [ --with-gssapi[=DIR] compile in GSSAPI support using libraries in DIR],
686 if test "$with_gssapi" != "no"
688 if test "$with_gssapi" = "yes" -a -n "$with_kerberos5"
690 with_gssapi=$with_kerberos5
692 if test "$with_gssapi" != "yes" -a -n "$with_gssapi"
694 CFLAGS="$CFLAGS -I$with_gssapi/include"
695 LDFLAGS="$LDFLAGS -L$with_gssapi/lib"
698 AC_CHECK_LIB(gss, gss_check_version, LIBS="$LIBS -lgss", nogss=t)
701 if test -f "$with_gssapi/include/roken.h"
703 LIBS="$LIBS -lkrb5 -lasn1 -ldes -lroken -ldb -ldl"
704 AC_CHECK_LIB(gssapi, gss_init_sec_context,LIBS="$LIBS -lgssapi",
705 AC_MSG_ERROR([could not find libgssapi which is needed for GSSAPI support]), )
708 AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context,LIBS="$LIBS -lgssapi_krb5",
709 AC_MSG_ERROR([could not find libgssapi_krb5 which is needed for GSSAPI support]), -lkrb5)
712 AC_DEFINE(GSSAPI,1,Define if you want GSSAPI authentication)
713 save_CPPFLAGS=$CPPFLAGS
714 CPPFLAGS="-I$with_gssapi/include"
715 AC_CHECK_HEADERS(gss.h gssapi.h gssapi/gssapi.h gssapi/gssapi_generic.h)
716 if test "$ac_cv_header_gssapi_h" = "yes"; then
717 AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi.h, AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE,1,Define if you have MIT kerberos))
719 AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi/gssapi.h, AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE))
727 dnl ,------------------------------------------------------------------
728 dnl Check if we need TRIO
730 if test "$FORCE_TRIO" = "yes" ; then
732 ac_cv_func_vsnprintf=no
733 ac_cv_func_snprintf=no
735 if test "x$ac_cv_func_snprintf" != "xyes" ; then
736 AC_DEFINE(snprintf, trio_snprintf,
737 [Define to trio_snprintf if your system lacks snprintf])
740 if test "x$ac_cv_func_vsnprintf" != "xyes" ; then
741 AC_DEFINE(vsnprintf, trio_vsnprintf,
742 [Define to trio_vsnprintf if your system lacks vsnprintf])
745 AM_CONDITIONAL(NEED_TRIO, test "$needtrio" = 1)
747 dnl TRIO IEEE compiler option for Alpha
749 if test "$needtrio" = 1 ; then
750 AC_MSG_CHECKING(for IEEE compilation options)
751 AC_CACHE_VAL(ac_cv_ieee_option, [
753 #if !(defined(__alpha) && (defined(__DECC) || defined(__DECCXX) || (defined(__osf__) && defined(__LANGUAGE_C__))) && (defined(VMS) || defined(__VMS)))
754 # error "Option needed"
756 ],ac_cv_ieee_option="/IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE",
758 #if !(defined(__alpha) && (defined(__DECC) || defined(__DECCXX) || (defined(__osf__) && defined(__LANGUAGE_C__))) && !(defined(VMS) || defined(__VMS)) && !defined(_CFE))
759 # error "Option needed"
761 ],ac_cv_ieee_option="-ieee",
763 #if !(defined(__alpha) && (defined(__GNUC__) && (defined(__osf__) || defined(__linux__))))
764 # error "Option needed"
766 ],ac_cv_ieee_option="-mieee",
767 ac_cv_ieee_option="none"
772 AC_MSG_RESULT($ac_cv_ieee_option)
773 if test $ac_cv_ieee_option != none; then
774 CFLAGS="${CFLAGS} ${ac_cv_ieee_option}"
777 dnl ----------------------------------------------------------------'
779 AC_CONFIG_FILES([Makefile m4/Makefile po/Makefile.in genlsm.sh])
783 dnl comment-start: "dnl "
785 dnl comment-start-skip: "\\bdnl\\b\\s *"
786 dnl compile-command: "make configure config.h.in"