diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | configure.in | 46 |
2 files changed, 27 insertions, 22 deletions
@@ -88,6 +88,9 @@ Changes in version 0.1.2.2-alpha - 2006-10-?? - Just because your DirPort is open doesn't mean people should be able to remotely teach you about hidden service descriptors. Now only accept rendezvous posts if you've got HSAuthoritativeDir set. + - When eventdns is enabled, allow multithreaded builds on NetBSD and + OpenBSD. (We had previously disabled threads on these platforms + because they didn't have working thread-safe resolver functions) o Major bugfixes, other: - Avoiding crashing on race condition in dns.c: diff --git a/configure.in b/configure.in index 860cf2abe4..2c3447a32f 100644 --- a/configure.in +++ b/configure.in @@ -19,6 +19,26 @@ AC_ARG_ENABLE(debug, CFLAGS="$CFLAGS -g" fi]) +AC_ARG_ENABLE(eventdns, + AC_HELP_STRING(--enable-eventdns, enable asynchronous dns module), + [case "${enableval}" in + yes) eventdns=true ;; + no) eventdns=false ;; + *) AC_MSG_ERROR(bad value for --enable-eventdns) ;; + esac], [eventdns=true]) +AM_CONDITIONAL(EVENTDNS, test x$eventdns = xtrue) +if test x$eventdns = xtrue; then + AC_DEFINE([USE_EVENTDNS], 1, "Define to 1 if we'll be using eventdns.c") +fi + +AC_ARG_ENABLE(transparent, + AC_HELP_STRING(--disable-transparent, disable transparent proxy support), + [case "${enableval}" in + yes) transparent=true ;; + no) transparent=false ;; + *) AC_MSG_ERROR(bad value for --enable-transparent) ;; + esac], [transparent=true]) + AC_ARG_ENABLE(threads, AC_HELP_STRING(--disable-threads, disable multi-threading support)) @@ -27,9 +47,11 @@ if test x$enable_threads = x; then *-*-netbsd* | *-*-openbsd* ) # Don't try multithreading on netbsd -- there is no threadsafe DNS # lookup function there. - AC_MSG_NOTICE([You are running OpenBSD or NetBSD; I am assuming that + if test x$eventdns != xtrue; then + AC_MSG_NOTICE([You are running OpenBSD or NetBSD; I am assuming that getaddrinfo is not threadsafe here, so I will disable threads.]) - enable_threads="no";; + enable_threads="no" + fi ;; *-*-solaris* ) # Don't try multithreading on solaris -- cpuworkers seem to lock. AC_MSG_NOTICE([You are running Solaris; Sometimes threading makes @@ -44,26 +66,6 @@ if test $enable_threads = "yes"; then AC_DEFINE(ENABLE_THREADS, 1, [Defined if we will try to use multithreading]) fi -AC_ARG_ENABLE(eventdns, - AC_HELP_STRING(--enable-eventdns, enable asynchronous dns module), - [case "${enableval}" in - yes) eventdns=true ;; - no) eventdns=false ;; - *) AC_MSG_ERROR(bad value for --enable-eventdns) ;; - esac], [eventdns=true]) -AM_CONDITIONAL(EVENTDNS, test x$eventdns = xtrue) -if test x$eventdns = xtrue; then - AC_DEFINE([USE_EVENTDNS], 1, "Define to 1 if we'll be using eventdns.c") -fi - -AC_ARG_ENABLE(transparent, - AC_HELP_STRING(--disable-transparent, disable transparent proxy support), - [case "${enableval}" in - yes) transparent=true ;; - no) transparent=false ;; - *) AC_MSG_ERROR(bad value for --enable-transparent) ;; - esac], [transparent=true]) - case $host in *-*-solaris* ) AC_DEFINE(_REENTRANT, 1, [Define on some platforms to activate x_r() functions in time.h]) |