Convert svn:ignore properties to .gitignore.
[m6w6/ext-ares] / config.m4
1 dnl $Id$
2 dnl config.m4 for extension ares
3
4 PHP_ARG_WITH(ares, for asynchronous resolver support,
5 [ --with-ares Include asynchronous resolver support])
6
7 if test "$PHP_ARES" != "no"; then
8 PHP_ARES_DIR=
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
12 PHP_ARES_DIR=$i
13 AC_MSG_RESULT(found in $i)
14 break;
15 fi
16 done
17 if test -z "$PHP_ARES_DIR"; then
18 AC_MSG_ERROR(could not find ares.h)
19 fi
20
21 dnl ##########
22 dnl newer versions of libcares need -lrt
23 dnl ##########
24 PHP_ADD_LIBRARY(rt, 1, ARES_SHARED_LIBADD)
25
26 PHP_ARES_LIB=
27 PHP_CHECK_LIBRARY(cares, ares_init, [
28 PHP_ARES_LIB=cares
29 ], [
30 PHP_CHECK_LIBRARY(ares, ares_init, [
31 PHP_ARES_LIB=ares
32 ], [
33 PHP_ARES_LIB=unknown
34 ], [
35 -lrt -L$PHP_ARES_DIR/$PHP_LIBDIR
36 ]
37 )
38 ], [
39 -lrt -L$PHP_ARES_DIR/$PHP_LIBDIR
40 ]
41 )
42 AC_MSG_CHECKING(for libares/libcares)
43 AC_MSG_RESULT($PHP_ARES_LIB)
44
45 if test $PHP_ARES_LIB = "unknown"; then
46 AC_MSG_ERROR(could neither find libares nor libcares)
47 elif test $PHP_ARES_LIB = "cares"; then
48 AC_DEFINE_UNQUOTED([PHP_ARES_LIBNAME], "c-ares (CURL)", [ ])
49 AC_DEFINE([PHP_ARES_EXPAND_LEN_TYPE], [long], [ ])
50 else
51 AC_DEFINE_UNQUOTED([PHP_ARES_LIBNAME], "ares (MIT)", [ ])
52 AC_DEFINE([PHP_ARES_EXPAND_LEN_TYPE], [int], [ ])
53 AC_DEFINE([HAVE_OLD_ARES_STRERROR], [1], [ ])
54 fi
55
56 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_cancel,
57 [AC_DEFINE([HAVE_ARES_CANCEL], [1], [ ])], [ ],
58 [-lrt -L$PHP_ARES_DIR/$PHP_LIBDIR]
59 )
60 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_getnameinfo,
61 [AC_DEFINE([HAVE_ARES_GETNAMEINFO], [1], [ ])], [ ],
62 [-lrt -L$PHP_ARES_DIR/$PHP_LIBDIR]
63 )
64 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_getsock,
65 [AC_DEFINE([HAVE_ARES_GETSOCK], [1], [ ])], [ ],
66 [-lrt -L$PHP_ARES_DIR/$PHP_LIBDIR]
67 )
68 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_version,
69 [AC_DEFINE([HAVE_ARES_VERSION], [1], [ ])], [ ],
70 [-lrt -L$PHP_ARES_DIR/$PHP_LIBDIR]
71 )
72 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_library_init,
73 [AC_DEFINE([HAVE_ARES_LIBRARY_INIT], [1], [ ])], [ ],
74 [-lrt -L$PHP_ARES_DIR/$PHP_LIBDIR]
75 )
76 PHP_CHECK_LIBRARY($PHP_ARES_LIB, ares_library_cleanup,
77 [AC_DEFINE([HAVE_ARES_LIBRARY_CLEANUP], [1], [ ])], [ ],
78 [-lrt -L$PHP_ARES_DIR/$PHP_LIBDIR]
79 )
80
81 dnl ##########
82 dnl check new c-ares callback API
83 dnl ##########
84 save_LIBS=$LIBS
85 save_CFLAGS=$CFLAGS
86 LDFLIBS="-L$PHP_ARES_DIR/$PHP_LIBDIR -l$PHP_ARES_LIB -lrt"
87 CFLAGS="-I$PHP_ARES_DIR/include -Werror"
88
89 AC_MSG_CHECKING(for new c-ares callback API)
90 AC_TRY_COMPILE(
91 [#include <ares.h>
92 ], [
93 ares_search(0, 0, 0, 0, (void (*)(void *, int, int, unsigned char *, int)) 0, 0);
94 ], [
95 AC_MSG_RESULT(yes)
96 AC_DEFINE([PHP_ARES_NEW_CALLBACK_API], [1], [ ])
97 ], [
98 AC_MSG_RESULT(no)
99 AC_DEFINE([PHP_ARES_NEW_CALLBACK_API], [0], [ ])
100 ]
101 )
102
103 LIBS=$save_LIBS
104 CFLAGS=$save_CFLAGS
105
106 AC_CHECK_HEADERS([netdb.h unistd.h arpa/inet.h arpa/nameser.h arpa/nameser_compat.h])
107
108 PHP_ADD_INCLUDE($PHP_ARES_DIR/include)
109 PHP_ADD_LIBRARY_WITH_PATH($PHP_ARES_LIB, $PHP_ARES_DIR/$PHP_LIBDIR, ARES_SHARED_LIBADD)
110
111 PHP_SUBST(ARES_SHARED_LIBADD)
112 PHP_NEW_EXTENSION(ares, ares.c, $ext_shared)
113 fi