heimdal Extend the 'hdb as a keytab' code [HEIMDAL-600]
[heimdal.git] / cf / find-func-no-libs2.m4
blob692001c103b712853151666ad6abdf15caaf72ca
1 dnl $Id$
2 dnl
3 dnl
4 dnl Look for function in any of the specified libraries
5 dnl
7 dnl AC_FIND_FUNC_NO_LIBS2(func, libraries, includes, arguments, extra libs, extra args)
8 AC_DEFUN([AC_FIND_FUNC_NO_LIBS2], [
10 AC_MSG_CHECKING([for $1])
11 AC_CACHE_VAL(ac_cv_funclib_$1,
13 if eval "test \"\$ac_cv_func_$1\" != yes" ; then
14         ac_save_LIBS="$LIBS"
15         for ac_lib in $2; do
16                 case "$ac_lib" in
17                 "") ;;
18                 yes) ac_lib="" ;;
19                 no) continue ;;
20                 -l*) ;;
21                 *) ac_lib="-l$ac_lib" ;;
22                 esac
23                 LIBS="$6 $ac_lib $5 $ac_save_LIBS"
24                 AC_LINK_IFELSE([AC_LANG_PROGRAM([[$3]],[[$1($4)]])],[eval "if test -n \"$ac_lib\";then ac_cv_funclib_$1=$ac_lib; else ac_cv_funclib_$1=yes; fi";break])
25         done
26         eval "ac_cv_funclib_$1=\${ac_cv_funclib_$1-no}"
27         LIBS="$ac_save_LIBS"
31 eval "ac_res=\$ac_cv_funclib_$1"
33 if false; then
34         AC_CHECK_FUNCS($1)
35 dnl     AC_CHECK_LIBS($2, foo)
37 # $1
38 eval "ac_tr_func=HAVE_[]upcase($1)"
39 eval "ac_tr_lib=HAVE_LIB[]upcase($ac_res | sed -e 's/-l//')"
40 eval "LIB_$1=$ac_res"
42 case "$ac_res" in
43         yes)
44         eval "ac_cv_func_$1=yes"
45         eval "LIB_$1="
46         AC_DEFINE_UNQUOTED($ac_tr_func)
47         AC_MSG_RESULT([yes])
48         ;;
49         no)
50         eval "ac_cv_func_$1=no"
51         eval "LIB_$1="
52         AC_MSG_RESULT([no])
53         ;;
54         *)
55         eval "ac_cv_func_$1=yes"
56         eval "ac_cv_lib_`echo "$ac_res" | sed 's/-l//'`=yes"
57         AC_DEFINE_UNQUOTED($ac_tr_func)
58         AC_DEFINE_UNQUOTED($ac_tr_lib)
59         AC_MSG_RESULT([yes, in $ac_res])
60         ;;
61 esac
62 AC_SUBST(LIB_$1)