dnl Find libevent
AC_USUAL_LIBEVENT
+use_evdns=no
+AC_ARG_ENABLE(evdns, AC_HELP_STRING([--enable-evdns],[Use libevent for DNS lookups]),
+ [use_evdns=yes])
+AC_MSG_CHECKING([whether to use libevent for DNS lookups])
+if test "$use_evdns" = "yes"; then
+ AC_DEFINE(USE_EVDNS, 1, [Use libevent for DNS lookups.])
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
AC_USUAL_DEBUG
AC_USUAL_CASSERT
AC_USUAL_WERROR
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#if 1
-
-/* pick dns implementation */
-#ifdef EV_ET
-#define USE_LIBEVENT2
-#else
-#ifdef HAVE_GETADDRINFO_A
-#define USE_GETADDRINFO_A
-#else
-#define USE_LIBEVENT1
-#endif
-#endif
-
-#else
-#define USE_LIBEVENT2
-#endif
-
-
struct DNSContext;
struct DNSToken;
* libevent2 - does not return TTL, uses hosts file.
*/
-#ifdef USE_GETADDRINFO_A
+#include <usual/netdb.h>
+
+#ifndef USE_EVDNS
+
/* getaddrinfo_a */
-#include <netdb.h>
-#include <signal.h>
-#endif
+#define USE_GETADDRINFO_A
-#ifdef USE_LIBEVENT2
+#else
+
+#ifdef EV_ET
+
+/* libevent 2 */
+#define USE_LIBEVENT2
#include <event2/dns.h>
#define addrinfo evutil_addrinfo
#define freeaddrinfo evutil_freeaddrinfo
-#endif
-#ifdef USE_LIBEVENT1
+#else
+
/* libevent 1 */
+#define USE_LIBEVENT1
#include <evdns.h>
+
+#endif
#endif