crypto.m4 revision 90926
1dnl $Id: crypto.m4,v 1.7 2001/08/29 17:02:48 assar Exp $
2dnl
3dnl test for crypto libraries:
4dnl - libcrypto (from openssl)
5dnl - libdes (from krb4)
6dnl - own-built libdes
7
8AC_DEFUN([KRB_CRYPTO],[
9crypto_lib=unknown
10AC_WITH_ALL([openssl])
11
12DIR_des=
13
14AC_MSG_CHECKING([for crypto library])
15
16if test "$crypto_lib" = "unknown" -a "$with_openssl" != "no"; then
17
18  save_CPPFLAGS="$CPPFLAGS"
19  save_LIBS="$LIBS"
20  INCLUDE_des=
21  LIB_des=
22  if test "$with_openssl_include" != ""; then
23    INCLUDE_des="-I${with_openssl}/include"
24  fi
25  if test "$with_openssl_lib" != ""; then
26    LIB_des="-L${with_openssl}/lib"
27  fi
28  CPPFLAGS="${INCLUDE_des} ${CPPFLAGS}"
29  LIB_des="${LIB_des} -lcrypto"
30  LIB_des_a="$LIB_des"
31  LIB_des_so="$LIB_des"
32  LIB_des_appl="$LIB_des"
33  LIBS="${LIBS} ${LIB_des}"
34  AC_TRY_LINK([
35  #include <openssl/md4.h>
36  #include <openssl/md5.h>
37  #include <openssl/sha.h>
38  #include <openssl/des.h>
39  #include <openssl/rc4.h>
40  ],
41  [
42    MD4_CTX md4;
43    MD5_CTX md5;
44    SHA_CTX sha1;
45
46    MD4_Init(&md4);
47    MD5_Init(&md5);
48    SHA1_Init(&sha1);
49
50    des_cbc_encrypt(0, 0, 0, 0, 0, 0);
51    RC4(0, 0, 0, 0);
52  ], [
53  crypto_lib=libcrypto
54  AC_DEFINE([HAVE_OPENSSL], 1, [define to use openssl's libcrypto])
55  AC_MSG_RESULT([libcrypto])])
56  CPPFLAGS="$save_CPPFLAGS"
57  LIBS="$save_LIBS"
58fi
59
60if test "$crypto_lib" = "unknown" -a "$with_krb4" != "no"; then
61
62  save_CPPFLAGS="$CPPFLAGS"
63  save_LIBS="$LIBS"
64  INCLUDE_des="${INCLUDE_krb4}"
65  LIB_des=
66  if test "$krb4_libdir"; then
67    LIB_des="-L${krb4_libdir}"
68  fi
69  LIB_des="${LIB_des} -ldes"
70  CPPFLAGS="${CPPFLAGS} ${INCLUDE_des}"
71  LIBS="${LIBS} ${LIB_des}"
72  LIB_des_a="$LIB_des"
73  LIB_des_so="$LIB_des"
74  LIB_des_appl="$LIB_des"
75  LIBS="${LIBS} ${LIB_des}"
76  AC_TRY_LINK([
77  #undef KRB5 /* makes md4.h et al unhappy */
78  #define KRB4
79  #include <md4.h>
80  #include <md5.h>
81  #include <sha.h>
82  #include <des.h>
83  #include <rc4.h>
84  ],
85  [
86    MD4_CTX md4;
87    MD5_CTX md5;
88    SHA_CTX sha1;
89
90    MD4_Init(&md4);
91    MD5_Init(&md5);
92    SHA1_Init(&sha1);
93
94    des_cbc_encrypt(0, 0, 0, 0, 0, 0);
95    RC4(0, 0, 0, 0);
96  ], [crypto_lib=krb4; AC_MSG_RESULT([krb4's libdes])])
97  CPPFLAGS="$save_CPPFLAGS"
98  LIBS="$save_LIBS"
99fi
100
101if test "$crypto_lib" = "unknown"; then
102
103  DIR_des='des'
104  LIB_des='$(top_builddir)/lib/des/libdes.la'
105  LIB_des_a='$(top_builddir)/lib/des/.libs/libdes.a'
106  LIB_des_so='$(top_builddir)/lib/des/.libs/libdes.so'
107  LIB_des_appl="-ldes"
108
109  AC_MSG_RESULT([included libdes])
110
111fi
112
113AC_SUBST(DIR_des)
114AC_SUBST(INCLUDE_des)
115AC_SUBST(LIB_des)
116AC_SUBST(LIB_des_a)
117AC_SUBST(LIB_des_so)
118AC_SUBST(LIB_des_appl)
119])
120