GSS_S_PROMPTING_NEEDED is a bit
[cyrus-sasl.git] / cmulocal / nadine.m4
1 dnl nadine.m4--The nadine event library
2 dnl Derrick Brashear
3 dnl from KTH kafs and Arla
4 dnl $Id: nadine.m4,v 1.6 2003/10/08 20:35:25 rjs3 Exp $
5
6 AC_DEFUN([CMU_NADINE_INC_WHERE1], [
7 saved_CPPFLAGS=$CPPFLAGS
8 CPPFLAGS="$saved_CPPFLAGS -I$1"
9 CMU_CHECK_HEADER_NOCACHE(libevent/libevent.h,
10 ac_cv_found_event_inc=yes,
11 ac_cv_found_event_inc=no)
12 CPPFLAGS=$saved_CPPFLAGS
13 ])
14
15 AC_DEFUN([CMU_NADINE_INC_WHERE], [
16    for i in $1; do
17       AC_MSG_CHECKING(for nadine headers in $i)
18       CMU_NADINE_INC_WHERE1($i)
19 dnl      CMU_TEST_INCPATH($i, ssl)
20 dnl   CMU_TEST_INCPATH isn't very versatile
21       if test "$ac_cv_found_event_inc" = "yes"; then
22         if test \! -f $i/libevent/libevent.h ; then
23           ac_cv_found_event_inc=no
24         fi
25       fi
26       if test "$ac_cv_found_event_inc" = "yes"; then
27         ac_cv_event_where_inc=$i
28         AC_MSG_RESULT(found)
29         break
30       else
31         AC_MSG_RESULT(not found)
32       fi
33     done
34 ])
35
36 AC_DEFUN([CMU_NADINE_LIB_WHERE1], [
37 saved_LIBS=$LIBS
38 LIBS="$saved_LIBS -L$1 -levent"
39 AC_TRY_LINK(,
40 [libevent_Initialize();],
41 [ac_cv_found_event_lib=yes],
42 ac_cv_found_event_lib=no)
43 LIBS=$saved_LIBS
44 ])
45
46 AC_DEFUN([CMU_NADINE_LIB_WHERE], [
47    for i in $1; do
48       AC_MSG_CHECKING(for event libraries in $i)
49       CMU_NADINE_LIB_WHERE1($i)
50       dnl deal with false positives from implicit link paths
51       CMU_TEST_LIBPATH($i, event)
52       if test "$ac_cv_found_event_lib" = "yes" ; then
53         ac_cv_event_where_lib=$i
54         AC_MSG_RESULT(found)
55         break
56       else
57         AC_MSG_RESULT(not found)
58       fi
59     done
60 ])
61
62 AC_DEFUN([CMU_NADINE], [
63 AC_REQUIRE([CMU_SOCKETS])
64 AC_ARG_WITH(nadine,
65         [  --with-nadine=PREFIX      Compile with nadine libevent support],
66         [if test "X$with_nadine" = "X"; then
67                 with_nadine=yes
68         fi])
69 AC_ARG_WITH(nadine-lib,
70         [  --with-nadine-lib=dir     use nadine libraries in dir],
71         [if test "$withval" = "yes" -o "$withval" = "no"; then
72                 AC_MSG_ERROR([No argument for --with-nadine-lib])
73         fi])
74 AC_ARG_WITH(nadine-include,
75         [  --with-nadine-include=dir use nadine headers in dir],
76         [if test "$withval" = "yes" -o "$withval" = "no"; then
77                 AC_MSG_ERROR([No argument for --with-nadine-include])
78         fi])
79
80         if test "$with_ucdsnmp" = "no" ; then
81              AC_MSG_WARN([Nadine requires UCD SNMP. Disabling Nadine support])
82              with_nadine=no
83              with_nadine_lib=no
84              with_nadine_include=no
85         fi
86         if test "X$with_nadine" != "X"; then
87           if test "$with_nadine" != "yes" -a "$with_nadine" != no; then
88             ac_cv_event_where_lib=$with_nadine/lib
89             ac_cv_event_where_inc=$with_nadine/include
90           fi
91         fi
92
93         if test "$with_nadine" != "no"; then 
94           if test "X$with_nadine_lib" != "X"; then
95             ac_cv_event_where_lib=$with_nadine_lib
96           fi
97           if test "X$ac_cv_event_where_lib" = "X"; then
98             CMU_NADINE_LIB_WHERE(/usr/local/lib /usr/ng/lib /usr/lib)
99           fi
100
101           if test "X$with_nadine_include" != "X"; then
102             ac_cv_event_where_inc=$with_nadine_include
103           fi
104           if test "X$ac_cv_event_where_inc" = "X"; then
105             CMU_NADINE_INC_WHERE(/usr/local/include /usr/ng/include /usr/include)
106           fi
107         fi
108
109         AC_MSG_CHECKING(whether to include nadine)
110         if test "X$ac_cv_event_where_lib" = "X" -a "X$ac_cv_event_where_inc" = "X"; then
111           ac_cv_found_event=no
112           AC_MSG_RESULT(no)
113         else
114           ac_cv_found_event=yes
115           AC_MSG_RESULT(yes)
116           NADINE_INC_DIR=$ac_cv_event_where_inc
117           NADINE_LIB_DIR=$ac_cv_event_where_lib
118           NADINE_INC_FLAGS="-I${NADINE_INC_DIR}"
119           NADINE_LIB_FLAGS="-L${NADINE_LIB_DIR} -levent"
120           if test "X$RPATH" = "X"; then
121                 RPATH=""
122           fi
123           case "${host}" in
124             *-*-linux*)
125               if test "X$RPATH" = "X"; then
126                 RPATH="-Wl,-rpath,${NADINE_LIB_DIR}"
127               else 
128                 RPATH="${RPATH}:${NADINE_LIB_DIR}"
129               fi
130               ;;
131             *-*-hpux*)
132               if test "X$RPATH" = "X"; then
133                 RPATH="-Wl,+b${NADINE_LIB_DIR}"
134               else 
135                 RPATH="${RPATH}:${NADINE_LIB_DIR}"
136               fi
137               ;;
138             *-*-irix*)
139               if test "X$RPATH" = "X"; then
140                 RPATH="-Wl,-rpath,${NADINE_LIB_DIR}"
141               else 
142                 RPATH="${RPATH}:${NADINE_LIB_DIR}"
143               fi
144               ;;
145             *-*-solaris2*)
146               if test "$ac_cv_prog_gcc" = yes; then
147                 if test "X$RPATH" = "X"; then
148                   RPATH="-Wl,-R${NADINE_LIB_DIR}"
149                 else 
150                   RPATH="${RPATH}:${NADINE_LIB_DIR}"
151                 fi
152               else
153                 RPATH="${RPATH} -R${NADINE_LIB_DIR}"
154               fi
155               ;;
156           esac
157           AC_SUBST(RPATH)
158         fi
159         AC_SUBST(NADINE_INC_DIR)
160         AC_SUBST(NADINE_LIB_DIR)
161         AC_SUBST(NADINE_INC_FLAGS)
162         AC_SUBST(NADINE_LIB_FLAGS)
163         ])
164