dnl $Id$
dnl config.m4 for extension ares
-PHP_ARG_WITH(ares, for asynchronous resolver support,
+PHP_ARG_WITH(ares, [enable asynchronous resolver support],
[ --with-ares Include asynchronous resolver support])
if test "$PHP_ARES" != "no"; then
AC_MSG_ERROR(could not find ares.h)
fi
- PHP_ADD_LIBRARY(rt, ARES_SHARED_LIBADD)
PHP_ARES_LIB=
+ PHP_ARES_LIBADD=
PHP_CHECK_LIBRARY(cares, ares_init, [
PHP_ARES_LIB=cares
], [
PHP_CHECK_LIBRARY(ares, ares_init, [
PHP_ARES_LIB=ares
], [
- PHP_ARES_LIB=unknown
+ PHP_CHECK_LIBRARY(cares, ares_init, [
+ PHP_ARES_LIB=cares
+ PHP_ARES_LIBADD=rt
+ ], [
+ PHP_CHECK_LIBRARY(ares, ares_init, [
+ PHP_ARES_LIB=ares
+ PHP_ARES_LIBADD=rt
+ ], [
+ PHP_AREES_LIB=unknown
+ ], [
+ -lrt -L$PHP_ARES_DIR/$PHP_LIBDIR
+ ])
+ ], [
+ -lrt -L$PHP_ARES_DIR/$PHP_LIBDIR
+ ])
], [
-L$PHP_ARES_DIR/$PHP_LIBDIR
]
AC_MSG_CHECKING(for libares/libcares)
AC_MSG_RESULT($PHP_ARES_LIB)
+ if test "x$PHP_ARES_LIBADD" != "x"; then
+ PHP_ADD_LIBRARY(PHP_ARES_LIBADD, 1, ARES_SHARED_LIBADD)
+ dnl for later use
+ PHP_ARES_LIBADD="-l$PHP_ARES_LIBADD"
+ fi
+
if test $PHP_ARES_LIB = "unknown"; then
AC_MSG_ERROR(could neither find libares nor libcares)
elif test $PHP_ARES_LIB = "cares"; then
+ AC_DEFINE([PHP_ARES_CARES], [1], [ ])
AC_DEFINE_UNQUOTED([PHP_ARES_LIBNAME], "c-ares (CURL)", [ ])
AC_DEFINE([PHP_ARES_EXPAND_LEN_TYPE], [long], [ ])
else
PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_cancel,
[AC_DEFINE([HAVE_ARES_CANCEL], [1], [ ])], [ ],
- [-L$PHP_ARES_DIR/$PHP_LIBDIR]
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
)
PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_getnameinfo,
[AC_DEFINE([HAVE_ARES_GETNAMEINFO], [1], [ ])], [ ],
- [-L$PHP_ARES_DIR/$PHP_LIBDIR]
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
)
PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_getsock,
[AC_DEFINE([HAVE_ARES_GETSOCK], [1], [ ])], [ ],
- [-L$PHP_ARES_DIR/$PHP_LIBDIR]
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
)
- PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_version,
- [AC_DEFINE([HAVE_ARES_VERSION], [1], [ ])], [ ],
- [-L$PHP_ARES_DIR/$PHP_LIBDIR]
+ PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_version,
+ [AC_DEFINE([HAVE_ARES_VERSION], [1], [ ])], [ ],
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
+ )
+ PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_library_init,
+ [AC_DEFINE([HAVE_ARES_LIBRARY_INIT], [1], [ ])], [ ],
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
+ )
+ PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_library_cleanup,
+ [AC_DEFINE([HAVE_ARES_LIBRARY_CLEANUP], [1], [ ])], [ ],
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
+ )
+ PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_set_local_dev,
+ [AC_DEFINE([HAVE_ARES_SET_LOCAL_DEV], [1], [ ])], [ ],
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
+ )
+ PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_set_local_ip4,
+ [AC_DEFINE([HAVE_ARES_SET_LOCAL_IP4], [1], [ ])], [ ],
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
+ )
+ PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_set_local_ip6,
+ [AC_DEFINE([HAVE_ARES_SET_LOCAL_IP6], [1], [ ])], [ ],
+ [$PHP_ARES_LIBADD -L$PHP_ARES_DIR/$PHP_LIBDIR]
)
-
- dnl check new c-ares API
-
+ dnl ##########
+ dnl check new c-ares callback API
+ dnl ##########
save_LIBS=$LIBS
save_CFLAGS=$CFLAGS
- LIBS="-L $PHP_ARES_DIR/$PHP_LIBDIR -l $PHP_ARES_LIB"
- CFLAGS="-I$PHP_ARES_DIR/include -pedantic-errors"
+ LIBS="-L$PHP_ARES_DIR/$PHP_LIBDIR -l$PHP_ARES_LIB $PHP_ARES_LIBADD"
+ CFLAGS="-I$PHP_ARES_DIR/include -Werror"
AC_MSG_CHECKING(for new c-ares callback API)
AC_TRY_COMPILE(
LIBS=$save_LIBS
CFLAGS=$save_CFLAGS
- AC_CHECK_HEADERS([netdb.h unistd.h arpa/inet.h arpa/nameser.h])
+ AC_CHECK_HEADERS([netdb.h unistd.h arpa/inet.h arpa/nameser.h arpa/nameser_compat.h])
PHP_ADD_INCLUDE($PHP_ARES_DIR/include)
PHP_ADD_LIBRARY_WITH_PATH($PHP_ARES_LIB, $PHP_ARES_DIR/$PHP_LIBDIR, ARES_SHARED_LIBADD)
PHP_SUBST(ARES_SHARED_LIBADD)
- PHP_NEW_EXTENSION(ares, ares.c, $ext_shared)
+ PHP_NEW_EXTENSION(ares, php_ares.c, $ext_shared)
fi