]> arthur.barton.de Git - netatalk.git/blob - macros/ssl-check.m4
6ff4242542673ca7816430ee544d2b9e4b9dc921
[netatalk.git] / macros / ssl-check.m4
1 dnl $Id: ssl-check.m4,v 1.13 2005-04-28 20:50:05 bfernhomberg Exp $
2 dnl Autoconf macro to check for SSL or OpenSSL
3
4 AC_DEFUN([AC_CRYPT], [
5
6         saveLIBS=$LIBS
7         LIBS=""
8         CRYPT_LIBS=""
9
10         AC_CHECK_HEADERS(crypt.h)
11         AC_CHECK_LIB(crypt, main)
12
13         CRYPT_LIBS=$LIBS
14         LIBS=$saveLIBS
15
16         AC_SUBST(CRYPT_LIBS)
17 ])
18
19
20 AC_DEFUN([AC_PATH_SSL], [
21         AC_ARG_WITH(ssl-dir, [  --with-ssl-dir=PATH     specify path to OpenSSL installation (must contain
22                           lib and include dirs)],
23                 [
24                         if test "x$withval" = "xno"; then
25                                 tryssl=no
26                         elif test "x$withval" = "xyes"; then
27                                 tryssl=yes
28                                 tryssldir=
29                         else
30                                 dnl FIXME: should only try in $withval
31                                 tryssl=yes
32                                 tryssldir="$withval"
33                         fi
34                 ], [tryssl=yes]
35         )
36
37         SSL_CFLAGS=""
38         SSL_LIBS=""
39         saved_LIBS=$LIBS
40         saved_CFLAGS=$CFLAGS
41         compile_ssl=no
42
43         dnl make sure atalk_libname is defined beforehand
44         [[ -n "$atalk_libname" ]] || AC_MSG_ERROR([internal error, atalk_libname undefined])
45
46         if test "$tryssl" = "yes"; then
47                 AC_MSG_CHECKING([for SSL])
48                 for ssldir in "" $tryssldir /usr /usr/local/openssl /usr/$atalk_libname/openssl /usr/local/ssl /usr/$atalk_libname/ssl /usr/local /usr/pkg /opt /opt/openssl /usr/local/ssl ; do
49                         if test -f "$ssldir/include/openssl/cast.h" ; then
50                                 SSL_CFLAGS="$SSL_CFLAGS -I$ssldir/include -I$ssldir/include/openssl"
51                                 SSL_LIBS="$SSL_LIBS -L$ssldir/$atalk_libname -L$ssldir -lcrypto"
52                                 if test "x$need_dash_r" = "xyes"; then
53                                         SSL_LIBS="$SSL_LIBS -R$ssldir/$atalk_libname -R$ssldir"
54                                 fi
55                                 AC_MSG_RESULT([$ssldir (enabling RANDNUM and DHX support)])
56                                 CFLAGS="$CFLAGS $SSL_CFLAGS"
57                                 LIBS="$LIBS $SSL_LIBS"
58
59 dnl FIXME: The following looks crude and probably doesn't work properly.
60                                 dnl Check for the crypto library:
61                                 AC_CHECK_LIB(crypto, main)
62                                 dnl Check for "DES" library (for SSLeay, not openssl):
63                                 AC_CHECK_LIB(des, main)
64
65                                 AC_DEFINE(OPENSSL_DHX,  1, [Define if the OpenSSL DHX modules should be built])
66                                 AC_DEFINE(UAM_DHX,      1, [Define if the DHX UAM modules should be compiled])
67                                 compile_ssl=yes
68                                 CFLAGS=$saved_CFLAGS
69                                 LIBS=$saved_LIBS
70                                 break
71                         fi
72                 done
73                 if test "x$compile_ssl" = "xno"; then
74                         AC_MSG_RESULT([no])
75                 fi
76         fi
77         CFLAGS_REMOVE_USR_INCLUDE(SSL_CFLAGS)
78         LIB_REMOVE_USR_LIB(SSL_LIBS)
79         AC_SUBST(SSL_CFLAGS)
80         AC_SUBST(SSL_LIBS)
81         LIBS=$saved_LIBS
82 ])