1 2dnl if $2 contains '@dd', links against mingw symbols 3dnl otherwise calls AC_CHECK_LIB 4AC_DEFUN([APR_CHECK_DLL_FUNC],[ 5m4_define($1_function_name,m4_substr($2,0,m4_index($2,[@]))) 6m4_define($1_function_arglength,m4_substr($2,m4_incr(m4_index($2,[@])))) 7m4_define($1_[function_name]_arglength,m4_substr($2,m4_incr(m4_index($2,[@])))) 8dnl m4_define(apr_check_dll_id,$1_m4_defn($1_function_name)) 9 10AC_CACHE_CHECK([for $2 in $1],[ac_cv_lib_$1_]$1_function_name,[ 11 12ac_func_search_save_LIBS=$LIBS 13LIBS="$LIBS -l$1" 14 15AC_TRY_LINK([ 16#pragma pack(1) 17struct x { 18]m4_for([byte_id], 1, m4_defn([$1_function_name_arglength]), 1,[[ char c]]byte_id; 19)[}; 20__stdcall ]$1_function_name[(]struct x[);],[ 21struct x s = {0}; 22]$1_function_name[(s)], 23[ac_cv_lib_$1_]$1_function_name[=yes],[ac_cv_lib_$1_]$1_function_name[=no]) 24LIBS=$ac_func_search_save_LIBS 25])dnl AC_CACHE_CHECK 26 27AS_IF([test $ac_cv_lib_$1_]$1_function_name[ = yes], 28 [m4_default([$3], [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1),,Enable if this library is available) 29 LIBS="-l$1 $LIBS" 30])], 31 [$4])dnl 32]) 33 34