GSS_S_PROMPTING_NEEDED is a bit
[cyrus-sasl.git] / cmulocal / libcyrus.m4
1 dnl libcyrus.m4--Cyrus libraries and includes
2 dnl Derrick Brashear
3 dnl from KTH kafs and Arla
4 dnl $Id: libcyrus.m4,v 1.20 2005/04/26 19:14:08 shadow Exp $
5
6 AC_DEFUN([CMU_LIBCYRUS_INC_WHERE1], [
7 saved_CPPFLAGS=$CPPFLAGS
8 CPPFLAGS="$saved_CPPFLAGS -I$1 $SASLFLAGS"
9 CMU_CHECK_HEADER_NOCACHE(cyrus/imclient.h,
10 ac_cv_found_cyrus_inc=yes,
11 ac_cv_found_cyrus_inc=no)
12 CPPFLAGS=$saved_CPPFLAGS
13 ])
14
15 AC_DEFUN([CMU_LIBCYRUS_INC_WHERE], [
16    for i in $1; do
17       AC_MSG_CHECKING(for libcyrus headers in $i)
18       CMU_LIBCYRUS_INC_WHERE1($i)
19       CMU_TEST_INCPATH($i, imclient)
20       if test "$ac_cv_found_cyrus_inc" = "yes"; then
21         ac_cv_cyrus_where_inc=$i
22         AC_MSG_RESULT(found)
23         break
24       else
25         AC_MSG_RESULT(not found)
26       fi
27     done
28 ])
29
30 AC_DEFUN([CMU_LIBCYRUS_LIB_WHERE1], [
31 saved_LIBS=$LIBS
32 LIBS="$saved_LIBS -L$1 -lcyrus ${LIB_SASL} ${LIBSSL_LIB_FLAGS} ${LIB_SOCKET}"
33 AC_TRY_LINK([void fatal(){}],
34 [imclient_authenticate();],
35 [ac_cv_found_cyrus_lib=yes],
36 ac_cv_found_cyrus_lib=no)
37 LIBS=$saved_LIBS
38 ])
39
40 AC_DEFUN([CMU_LIBCYRUS_LIB_WHERE], [
41    for i in $1; do
42       AC_MSG_CHECKING(for libcyrus libraries in $i)
43       CMU_LIBCYRUS_LIB_WHERE1($i)
44       dnl deal with false positives from implicit link paths
45       CMU_TEST_LIBPATH($i, cyrus)
46       if test "$ac_cv_found_cyrus_lib" = "yes" ; then
47         ac_cv_cyrus_where_lib=$i
48         AC_MSG_RESULT(found)
49         break
50       else
51         AC_MSG_RESULT(not found)
52       fi
53     done
54 ])
55
56 AC_DEFUN([CMU_LIBCYRUS], [
57 AC_REQUIRE([CMU_FIND_LIB_SUBDIR])
58 AC_REQUIRE([CMU_SOCKETS])
59 AC_REQUIRE([CMU_SASL2])
60 AC_REQUIRE([CMU_LIBSSL])
61 AC_ARG_WITH(libcyrus,
62         [  --with-libcyrus=PREFIX      Compile with Libcyrus support],
63         [if test "X$with_libcyrus" = "X"; then
64                 with_libcyrus=yes
65         fi])
66 AC_ARG_WITH(libcyrus-lib,
67         [  --with-libcyrus-lib=dir     use libcyrus libraries in dir],
68         [if test "$withval" = "yes" -o "$withval" = "no"; then
69                 AC_MSG_ERROR([No argument for --with-libcyrus-lib])
70         fi])
71 AC_ARG_WITH(libcyrus-include,
72         [  --with-libcyrus-include=dir use libcyrus headers in dir],
73         [if test "$withval" = "yes" -o "$withval" = "no"; then
74                 AC_MSG_ERROR([No argument for --with-libcyrus-include])
75         fi])
76
77         if test "X$with_libcyrus" != "X"; then
78           if test "$with_libcyrus" != "yes" -a "$with_libcyrus" != no; then
79             ac_cv_cyrus_where_lib=$with_libcyrus/$CMU_LIB_SUBDIR
80             ac_cv_cyrus_where_inc=$with_libcyrus/include
81           fi
82         fi
83
84         if test "$with_libcyrus" != "no"; then 
85           if test "X$with_libcyrus_lib" != "X"; then
86             ac_cv_cyrus_where_lib=$with_libcyrus_lib
87           fi
88           if test "X$ac_cv_cyrus_where_lib" = "X"; then
89             CMU_LIBCYRUS_LIB_WHERE(/usr/cyrus/$CMU_LIB_SUBDIR /usr/local/$CMU_LIB_SUBDIR /usr/$CMU_LIB_SUBDIR)
90           fi
91
92           if test "X$with_libcyrus_include" != "X"; then
93             ac_cv_cyrus_where_inc=$with_libcyrus_include
94           fi
95           if test "X$ac_cv_cyrus_where_inc" = "X"; then
96             CMU_LIBCYRUS_INC_WHERE(/usr/cyrus/include /usr/local/include /usr/local/include/cyrus /usr/include/cyrus)
97           fi
98         fi
99
100         AC_MSG_CHECKING(whether to include libcyrus)
101         if test "X$ac_cv_cyrus_where_lib" = "X" -o "X$ac_cv_cyrus_where_inc" = "X"; then
102           ac_cv_found_cyrus=no
103           AC_MSG_RESULT(no)
104         else
105           ac_cv_found_cyrus=yes
106           AC_MSG_RESULT(yes)
107           LIBCYRUS_INC_DIR=$ac_cv_cyrus_where_inc
108           LIBCYRUS_LIB_DIR=$ac_cv_cyrus_where_lib
109           LIBCYRUS_INC_FLAGS="-I${LIBCYRUS_INC_DIR}"
110           LIBCYRUS_LIB_FLAGS="-L${LIBCYRUS_LIB_DIR} -lcyrus"
111           if test "X$RPATH" = "X"; then
112                 RPATH=""
113           fi
114           case "${host}" in
115             *-*-linux*)
116               if test "X$RPATH" = "X"; then
117                 RPATH="-Wl,-rpath,${LIBCYRUS_LIB_DIR}"
118               else 
119                 RPATH="${RPATH}:${LIBCYRUS_LIB_DIR}"
120               fi
121               ;;
122             *-*-hpux*)
123               if test "X$RPATH" = "X"; then
124                 RPATH="-Wl,+b${LIBCYRUS_LIB_DIR}"
125               else 
126                 RPATH="${RPATH}:${LIBCYRUS_LIB_DIR}"
127               fi
128               ;;
129             *-*-irix*)
130               if test "X$RPATH" = "X"; then
131                 RPATH="-Wl,-rpath,${LIBCYRUS_LIB_DIR}"
132               else 
133                 RPATH="${RPATH}:${LIBCYRUS_LIB_DIR}"
134               fi
135               ;;
136             *-*-solaris2*)
137               if test "$ac_cv_prog_gcc" = yes; then
138                 if test "X$RPATH" = "X"; then
139                   RPATH="-Wl,-R${LIBCYRUS_LIB_DIR}"
140                 else 
141                   RPATH="${RPATH}:${LIBCYRUS_LIB_DIR}"
142                 fi
143               else
144                 RPATH="${RPATH} -R${LIBCYRUS_LIB_DIR}"
145               fi
146               ;;
147           esac
148           AC_SUBST(RPATH)
149         fi
150         AC_SUBST(LIBCYRUS_INC_DIR)
151         AC_SUBST(LIBCYRUS_LIB_DIR)
152         AC_SUBST(LIBCYRUS_INC_FLAGS)
153         AC_SUBST(LIBCYRUS_LIB_FLAGS)
154         ])
155