libcares.m4 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. AC_DEFUN([AM_PATH_LIBCARES],
  2. [
  3. AC_ARG_WITH([libcares-prefix],
  4. [ --with-libcares-prefix=PREFIX Prefix where libcares installed (optional)],
  5. [libcares_prefix=$withval],
  6. [libcares_prefix=""])
  7. if test "x$libcares_prefix" = "x"; then
  8. libcares_prefix="/usr"
  9. fi
  10. libcares_prefix_lib=$libcares_prefix/lib
  11. libcares_prefix_include=$libcares_prefix/include
  12. LIBS_save=$LIBS
  13. CPPFLAGS_save=$CPPFLAGS
  14. LIBS="-L$libcares_prefix_lib $LIBS"
  15. CPPFLAGS="-I$libcares_prefix_include -Wall $CPPFLAGS"
  16. AC_CHECK_LIB([cares], [ares_init], [have_libcares=yes])
  17. if test "x$have_libcares" != "xyes"; then
  18. AC_CHECK_LIB([cares], [ares_init], [have_libcares=yes need_librt=yes], [],
  19. [-lrt])
  20. fi
  21. if test "x$have_libcares" = "xyes"; then
  22. if test "x$need_librt" = "xyes"; then
  23. LIBS="-lrt $LIBS"
  24. fi
  25. LIBS="-lcares $LIBS"
  26. AC_MSG_CHECKING([whether ares_host_callback accepts timeouts(c-ares >= 1.5)])
  27. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
  28. #include <ares.h>
  29. void callback(void* arg, int status, int timeouts, struct hostent* host);
  30. ]],
  31. [[
  32. ares_gethostbyname((ares_channel)0, "foo", 0, callback, 0);
  33. ]])],
  34. [have_libcares1_5=yes],
  35. [have_libcares1_5=no])
  36. AC_MSG_RESULT([$have_libcares1_5])
  37. if test "x$have_libcares1_5" = "xyes"; then
  38. AC_DEFINE([HAVE_LIBCARES1_5], [1], [Define 1 if ares_host_callback accepts timeouts(c-ares >= 1.5)])
  39. fi
  40. AC_CHECK_TYPES([ares_addr_node], [], [], [[#include <ares.h>]])
  41. AC_CHECK_FUNCS([ares_set_servers])
  42. AC_DEFINE([HAVE_LIBCARES], [1], [Define to 1 if you have libcares.])
  43. LIBCARES_LIBS="-L$libcares_prefix_lib -lcares"
  44. if test "x$need_librt" = "xyes"; then
  45. LIBCARES_LIBS="$LIBCARES_LIBS -lrt"
  46. fi
  47. LIBCARES_CPPFLAGS="-I$libcares_prefix_include"
  48. AC_SUBST(LIBCARES_LIBS)
  49. AC_SUBST(LIBCARES_CPPFLAGS)
  50. fi
  51. LIBS=$LIBS_save
  52. CPPFLAGS=$CPPFLAGS_save
  53. ])