source: trunk/third/cyrus-imapd/cmulocal/kerberos_v5.m4 @ 17980

Revision 17980, 4.8 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17979, which included commits to RCS files with non-trunk default branches.
Line 
1dnl kerberos_v5.m4--Kerberos 5 libraries and includes
2dnl Derrick Brashear
3dnl from KTH krb and Arla
4dnl $Id: kerberos_v5.m4,v 1.1.1.1 2002-10-13 18:01:17 ghudson Exp $
5
6AC_DEFUN(CMU_KRB5_INC_WHERE1, [
7AC_REQUIRE([AC_PROG_CC_GNU])
8saved_CPPFLAGS=$CPPFLAGS
9CPPFLAGS="$saved_CPPFLAGS -I$1"
10AC_TRY_COMPILE([#include <krb5.h>],
11[krb5_keyblock foo;],
12ac_cv_found_krb5_inc=yes,
13ac_cv_found_krb5_inc=no)
14CPPFLAGS=$saved_CPPFLAGS
15])
16
17AC_DEFUN(CMU_KRB5_INC_WHERE, [
18   for i in $1; do
19      AC_MSG_CHECKING(for krb5 headers in $i)
20      CMU_KRB5_INC_WHERE1($i)
21      CMU_TEST_INCPATH($i, krb5)
22      if test "$ac_cv_found_krb5_inc" = "yes"; then
23        ac_cv_krb5_where_inc=$i
24        AC_MSG_RESULT(found)
25        break
26      else
27        AC_MSG_RESULT(not found)
28      fi
29    done
30])
31
32#
33# Test for kerberos lib files
34#
35
36AC_DEFUN(CMU_KRB5_LIB_WHERE1, [
37AC_REQUIRE([AC_PROG_CC_GNU])
38saved_LIBS=$LIBS
39LIBS="$saved_LIBS -L$1 -lkrb5 -lk5crypto"
40AC_TRY_LINK(,
41[krb5_get_in_tkt();],
42[ac_cv_found_krb5_lib=yes],
43ac_cv_found_krb5_lib=no)
44LIBS=$saved_LIBS
45])
46
47AC_DEFUN(CMU_KRB5_HLIB_WHERE1, [
48AC_REQUIRE([AC_PROG_CC_GNU])
49saved_LIBS=$LIBS
50LIBS="$saved_LIBS -L$1 -lkrb5 -ldes -lasn1"
51AC_TRY_LINK(,
52[krb5_get_in_tkt();],
53[ac_cv_found_krb5_lib=yes],
54ac_cv_found_krb5_lib=no)
55LIBS=$saved_LIBS
56])
57
58AC_DEFUN(CMU_KRB5_LIB_WHERE, [
59   for i in $1; do
60      AC_MSG_CHECKING(for krb5 libraries in $i)
61      CMU_KRB5_LIB_WHERE1($i)
62      CMU_TEST_LIBPATH($i, krb5)
63      if test "$ac_cv_found_krb5_lib" = "yes" ; then
64        ac_cv_krb5_where_lib=$i
65        AC_MSG_RESULT(found)
66        break
67      else
68        AC_MSG_RESULT(not found)
69      fi
70    done
71])
72
73AC_DEFUN(CMU_KRB5_HLIB_WHERE, [
74   for i in $1; do
75      AC_MSG_CHECKING(for heimdal krb5 libraries in $i)
76      CMU_KRB5_HLIB_WHERE1($i)
77      CMU_TEST_LIBPATH($i, krb5)
78      if test "$ac_cv_found_krb5_lib" = "yes" ; then
79        ac_cv_krb5_where_hlib=$i
80        AC_MSG_RESULT(found)
81        break
82      else
83        AC_MSG_RESULT(not found)
84      fi
85    done
86])
87
88AC_DEFUN(CMU_KRB5, [
89AC_REQUIRE([CMU_SOCKETS])
90AC_REQUIRE([CMU_USE_COMERR])
91AC_ARG_WITH(krb5,
92        [  --with-krb5=PREFIX      Compile with Kerberos 5 support],
93        [if test "X$with_krb5" = "X"; then
94                with_krb5=yes
95        fi])
96AC_ARG_WITH(krb5-lib,
97        [  --with-krb5-lib=dir     use kerberos 5 libraries in dir],
98        [if test "$withval" = "yes" -o "$withval" = "no"; then
99                AC_MSG_ERROR([No argument for --with-krb5-lib])
100        fi])
101AC_ARG_WITH(krb5-include,
102        [  --with-krb5-include=dir use kerberos 5 headers in dir],
103        [if test "$withval" = "yes" -o "$withval" = "no"; then
104                AC_MSG_ERROR([No argument for --with-krb5-include])
105        fi])
106
107        if test "X$with_krb5" != "X"; then
108          if test "$with_krb5" != "yes" -a "$with_krb5" != "no"; then
109            ac_cv_krb5_where_lib=$with_krb5/lib
110            ac_cv_krb5_where_inc=$with_krb5/include
111          fi
112        fi
113
114        if test "$with_krb5" != "no"; then
115          if test "X$with_krb5_lib" != "X"; then
116            ac_cv_krb5_where_lib=$with_krb5_lib
117          fi
118          if test "X$ac_cv_krb5_where_lib" = "X"; then
119            CMU_KRB5_LIB_WHERE(/usr/athena/lib /usr/lib /usr/local/lib)
120          fi
121          if test "X$ac_cv_krb5_where_lib" = "X"; then
122            CMU_KRB5_HLIB_WHERE(/usr/athena/lib /usr/lib /usr/local/lib)
123          fi
124
125          if test "X$with_krb5_include" != "X"; then
126            ac_cv_krb5_where_inc=$with_krb5_include
127          fi
128          if test "X$ac_cv_krb5_where_inc" = "X"; then
129            CMU_KRB5_INC_WHERE(/usr/athena/include /usr/include/kerberos /usr/local/include)
130          fi
131        fi
132
133        AC_MSG_CHECKING(whether to include kerberos 5)
134        if test "X$ac_cv_krb5_where_lib" = "X" -a "X$ac_cv_krb5_where_hlib" = "X" -o "X$ac_cv_krb5_where_inc" = "X"; then
135          ac_cv_found_krb5=no
136          AC_MSG_RESULT(no)
137        else
138          ac_cv_found_krb5=yes
139          AC_MSG_RESULT(yes)
140          KRB5_INC_DIR=$ac_cv_krb5_where_inc
141          if test "X$ac_cv_krb5_where_hlib" = "X"; then
142            KRB5_LIB_DIR=$ac_cv_krb5_where_lib
143            KRB5_LIB_FLAGS="-L${KRB5_LIB_DIR} -lkrb5 -lk5crypto"
144          else
145            KRB5_LIB_DIR=$ac_cv_krb5_where_hlib
146            KRB5_LIB_FLAGS="-L${KRB5_LIB_DIR} -lkrb5 -ldes -lasn1"
147            AC_DEFINE(HEIMDAL)
148          fi
149          KRB5_INC_FLAGS="-I${KRB5_INC_DIR}"
150          AC_DEFINE(KRB5)
151          if test "X$RPATH" = "X"; then
152                RPATH=""
153          fi
154          case "${host}" in
155            *-*-linux*)
156              if test "X$RPATH" = "X"; then
157                RPATH="-Wl,-rpath,${KRB5_LIB_DIR}"
158              else
159                RPATH="${RPATH}:${KRB5_LIB_DIR}"
160              fi
161              ;;
162            *-*-hpux*)
163              if test "X$RPATH" = "X"; then
164                RPATH="-Wl,+b${KRB5_LIB_DIR}"
165              else
166                RPATH="${RPATH}:${KRB5_LIB_DIR}"
167              fi
168              ;;
169            *-*-irix*)
170              if test "X$RPATH" = "X"; then
171                RPATH="-Wl,-rpath,${KRB5_LIB_DIR}"
172              else
173                RPATH="${RPATH}:${KRB5_LIB_DIR}"
174              fi
175              ;;
176            *-*-solaris2*)
177              if test "$ac_cv_prog_gcc" = yes; then
178                if test "X$RPATH" = "X"; then
179                  RPATH="-Wl,-R${KRB5_LIB_DIR}"
180                else
181                  RPATH="${RPATH}:${KRB5_LIB_DIR}"
182                fi
183              else
184                RPATH="${RPATH} -R${KRB5_LIB_DIR}"
185              fi
186              ;;
187          esac
188          AC_SUBST(RPATH)
189        fi
190        ])
191
Note: See TracBrowser for help on using the repository browser.