2 dnl config.m4 for extension ares
4 PHP_ARG_WITH(ares, for asynchronous resolver support,
5 [ --with-ares Include asynchronous resolver support])
7 if test "$PHP_ARES" != "no"; then
9 AC_MSG_CHECKING(for ares.h)
10 for i in "$PHP_ARES" /usr/local /usr; do
11 if test -r "$i/include/ares.h"; then
13 AC_MSG_RESULT(found in $i)
17 if test -z "$PHP_ARES_DIR"; then
18 AC_MSG_ERROR(could not find ares.h)
21 PHP_ADD_LIBRARY(rt, ARES_SHARED_LIBADD)
23 PHP_CHECK_LIBRARY(cares, ares_init, [
26 PHP_CHECK_LIBRARY(ares, ares_init, [
31 -L$PHP_ARES_DIR/$PHP_LIBDIR
35 -L$PHP_ARES_DIR/$PHP_LIBDIR
38 AC_MSG_CHECKING(for libares/libcares)
39 AC_MSG_RESULT($PHP_ARES_LIB)
41 if test $PHP_ARES_LIB = "unknown"; then
42 AC_MSG_ERROR(could neither find libares nor libcares)
43 elif test $PHP_ARES_LIB = "cares"; then
44 AC_DEFINE_UNQUOTED([PHP_ARES_LIBNAME], "c-ares (CURL)", [ ])
45 AC_DEFINE([PHP_ARES_EXPAND_LEN_TYPE], [long], [ ])
47 AC_DEFINE_UNQUOTED([PHP_ARES_LIBNAME], "ares (MIT)", [ ])
48 AC_DEFINE([PHP_ARES_EXPAND_LEN_TYPE], [int], [ ])
49 AC_DEFINE([HAVE_OLD_ARES_STRERROR], [1], [ ])
52 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_cancel,
53 [AC_DEFINE([HAVE_ARES_CANCEL], [1], [ ])], [ ],
54 [-L$PHP_ARES_DIR/$PHP_LIBDIR]
56 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_getnameinfo,
57 [AC_DEFINE([HAVE_ARES_GETNAMEINFO], [1], [ ])], [ ],
58 [-L$PHP_ARES_DIR/$PHP_LIBDIR]
60 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_getsock,
61 [AC_DEFINE([HAVE_ARES_GETSOCK], [1], [ ])], [ ],
62 [-L$PHP_ARES_DIR/$PHP_LIBDIR]
64 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_version,
65 [AC_DEFINE([HAVE_ARES_VERSION], [1], [ ])], [ ],
66 [-L$PHP_ARES_DIR/$PHP_LIBDIR]
70 dnl check new c-ares API
74 LIBS="-L $PHP_ARES_DIR/$PHP_LIBDIR -l $PHP_ARES_LIB"
75 CFLAGS="-I$PHP_ARES_DIR/include -pedantic-errors"
77 AC_MSG_CHECKING(for new c-ares callback API)
81 ares_search(0, 0, 0, 0, (void (*)(void *, int, int, unsigned char *, int)) 0, 0);
84 AC_DEFINE([PHP_ARES_NEW_CALLBACK_API], [1], [ ])
87 AC_DEFINE([PHP_ARES_NEW_CALLBACK_API], [0], [ ])
94 AC_CHECK_HEADERS([netdb.h unistd.h arpa/inet.h arpa/nameser.h])
96 PHP_ADD_INCLUDE($PHP_ARES_DIR/include)
97 PHP_ADD_LIBRARY_WITH_PATH($PHP_ARES_LIB, $PHP_ARES_DIR/$PHP_LIBDIR, ARES_SHARED_LIBADD)
99 PHP_SUBST(ARES_SHARED_LIBADD)
100 PHP_NEW_EXTENSION(ares, ares.c, $ext_shared)