apr_win32.m4 1.0 KB

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