1178825Sdfrdnl $Id: find-func-no-libs2.m4 14166 2004-08-26 12:35:42Z joda $ 255682Smarkmdnl 355682Smarkmdnl 455682Smarkmdnl Look for function in any of the specified libraries 555682Smarkmdnl 655682Smarkm 755682Smarkmdnl AC_FIND_FUNC_NO_LIBS2(func, libraries, includes, arguments, extra libs, extra args) 8127808SnectarAC_DEFUN([AC_FIND_FUNC_NO_LIBS2], [ 955682Smarkm 1055682SmarkmAC_MSG_CHECKING([for $1]) 1155682SmarkmAC_CACHE_VAL(ac_cv_funclib_$1, 1255682Smarkm[ 1355682Smarkmif eval "test \"\$ac_cv_func_$1\" != yes" ; then 1455682Smarkm ac_save_LIBS="$LIBS" 1555682Smarkm for ac_lib in $2; do 1690926Snectar case "$ac_lib" in 1790926Snectar "") ;; 1890926Snectar yes) ac_lib="" ;; 1990926Snectar no) continue ;; 2090926Snectar -l*) ;; 2190926Snectar *) ac_lib="-l$ac_lib" ;; 2290926Snectar esac 2355682Smarkm LIBS="$6 $ac_lib $5 $ac_save_LIBS" 24178825Sdfr 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]) 2555682Smarkm done 2655682Smarkm eval "ac_cv_funclib_$1=\${ac_cv_funclib_$1-no}" 2755682Smarkm LIBS="$ac_save_LIBS" 2855682Smarkmfi 2955682Smarkm]) 3055682Smarkm 3155682Smarkmeval "ac_res=\$ac_cv_funclib_$1" 3255682Smarkm 3372445Sassarif false; then 3472445Sassar AC_CHECK_FUNCS($1) 3572445Sassardnl AC_CHECK_LIBS($2, foo) 3672445Sassarfi 3755682Smarkm# $1 3855682Smarkmeval "ac_tr_func=HAVE_[]upcase($1)" 3955682Smarkmeval "ac_tr_lib=HAVE_LIB[]upcase($ac_res | sed -e 's/-l//')" 4055682Smarkmeval "LIB_$1=$ac_res" 4155682Smarkm 4255682Smarkmcase "$ac_res" in 4355682Smarkm yes) 4455682Smarkm eval "ac_cv_func_$1=yes" 4555682Smarkm eval "LIB_$1=" 4655682Smarkm AC_DEFINE_UNQUOTED($ac_tr_func) 4755682Smarkm AC_MSG_RESULT([yes]) 4855682Smarkm ;; 4955682Smarkm no) 5055682Smarkm eval "ac_cv_func_$1=no" 5155682Smarkm eval "LIB_$1=" 5255682Smarkm AC_MSG_RESULT([no]) 5355682Smarkm ;; 5455682Smarkm *) 5555682Smarkm eval "ac_cv_func_$1=yes" 5655682Smarkm eval "ac_cv_lib_`echo "$ac_res" | sed 's/-l//'`=yes" 5755682Smarkm AC_DEFINE_UNQUOTED($ac_tr_func) 5855682Smarkm AC_DEFINE_UNQUOTED($ac_tr_lib) 5955682Smarkm AC_MSG_RESULT([yes, in $ac_res]) 6055682Smarkm ;; 6155682Smarkmesac 6255682SmarkmAC_SUBST(LIB_$1) 6355682Smarkm]) 64