Importing starttls 0.4+.
[elisp/starttls.git] / configure.in
1 AC_INIT(starttls.el)
2 AM_INIT_AUTOMAKE(starttls, 0.4)
3
4 test x"$prefix" = xNONE && prefix="$ac_default_prefix"
5
6 AM_PATH_LISPDIR
7
8 AC_PROG_CC
9 AC_ISC_POSIX
10 AC_PROG_INSTALL
11 AC_PROG_MAKE_SET
12 AC_PROG_RANLIB
13
14 AC_CHECK_HEADERS(libgen.h sys/select.h socks.h netinet6/in6.h)
15
16 AC_CHECK_LIB(nsl, gethostbyname)
17 AC_CHECK_LIB(socket, socket)
18
19 AC_CHECK_TYPE(fd_set, int)
20
21 dnl checking if the system supports ipv6 address space or not
22 AC_CACHE_CHECK([for struct in6_addr], ac_cv_struct_in6_addr,
23 [AC_TRY_COMPILE([#include <sys/types.h>
24 #include <sys/socket.h>
25 #include <netinet/in.h>
26 #include <netinet6/in6.h>], [struct in6_addr v6; v6.s6_addr32[3];],
27 ac_cv_struct_in6_addr=yes, ac_cv_struct_in6_addr=no)])
28 test "x$ac_cv_struct_in6_addr" = "xyes" && AC_DEFINE(HAVE_IN6_ADDR)
29
30 dnl checking if the system supports tcp over ipv6 support or not
31 AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_struct_sockaddr_in6,
32 [AC_TRY_COMPILE([#include <sys/types.h>
33 #include <sys/socket.h>
34 #include <netinet/in.h>
35 #include <netinet6/in6.h>], [struct sockaddr_in6 v6; v6.sin6_addr;],
36 ac_cv_struct_sockaddr_in6=yes, ac_cv_struct_sockaddr_in6=no)])
37 test "x$ac_cv_struct_sockaddr_in6" = "xyes" && AC_DEFINE(HAVE_SOCKADDR_IN6)
38
39 dnl
40 dnl Test for OpenSSL
41 dnl
42 AC_ARG_WITH(openssl,[  --with-openssl=PATH     use OpenSSL from PATH])
43
44 case "$with_openssl" in
45         yes|"")
46         with_openssl=${prefix}/ssl
47 esac
48
49 CPPFLAGS="${CPPFLAGS} -I${with_openssl}/include"
50 AC_CHECK_HEADER(openssl/ssl.h,,with_openssl="no")
51
52 LDFLAGS="${LDFLAGS} -L${with_openssl}/lib"
53 AC_CHECK_LIB(crypto,BIO_accept,LIBS=" -lcrypto ${LIBS}",with_openssl="no")
54 AC_CHECK_LIB(ssl,SSL_CTX_new,LIBS=" -lssl ${LIBS}",with_openssl="no")
55
56 AC_MSG_CHECKING(for openssl)
57 AC_MSG_RESULT($with_openssl)
58  
59 if test "$with_openssl" != "no"; then
60         AC_DEFINE(HAVE_SSL)
61 else
62 AC_MSG_ERROR("Unable to find openssl libraries.")
63 exit 1;
64 fi
65
66 dnl
67 dnl Test for BIND8
68 dnl
69 AC_ARG_WITH(bind8, [  --with-bind=PATH        use BIND],
70         with_bind="${withval}")
71 case "$with_bind" in
72         ""|no) with_bind="no";;
73         yes)
74                 AC_CHECK_HEADERS(port_before.h port_after.h);;
75         *)
76                 CPPFLAGS="${CPPFLAGS} -I${with_bind}/include"
77                 LIBS="${LIBS} -L${with_bind}/lib";;
78 esac
79
80 if test "$with_bind" != "no"; then
81         AC_CHECK_LIB(bind, getaddrinfo)
82 fi
83
84 AC_CHECK_FUNCS(basename getaddrinfo)
85
86 AC_OUTPUT(Makefile)