Quellcode durchsuchen

Attempt to make openbsd compilation happier with libevent2 installed

Fix for bug 16651; patch from "rubiate".
Nick Mathewson vor 8 Jahren
Ursprung
Commit
5dff4ae0ad
2 geänderte Dateien mit 22 neuen und 4 gelöschten Zeilen
  1. 5 0
      changes/bug16651
  2. 17 4
      configure.ac

+ 5 - 0
changes/bug16651

@@ -0,0 +1,5 @@
+  o Minor bugfixes (compilation):
+
+    - Fix search for libevent libraries on OpenBSD (and similar systems
+      which install libevent 1 and libevent 2 in parallel). Resolves
+      ticket 16651.  Patch from "rubiate".

+ 17 - 4
configure.ac

@@ -501,9 +501,6 @@ AC_CHECK_MEMBERS([struct event.min_heap_idx], , ,
 AC_CHECK_HEADERS(event2/event.h event2/dns.h event2/bufferevent_ssl.h)
 
 LIBS="$save_LIBS"
-LDFLAGS="$save_LDFLAGS"
-CPPFLAGS="$save_CPPFLAGS"
-
 
 AM_CONDITIONAL(USE_EXTERNAL_EVDNS, test x$ac_cv_header_event2_dns_h = xyes)
 
@@ -514,9 +511,25 @@ if test "$enable_static_libevent" = "yes"; then
      TOR_LIBEVENT_LIBS="$TOR_LIBDIR_libevent/libevent.a $STATIC_LIBEVENT_FLAGS"
    fi
 else
-     TOR_LIBEVENT_LIBS="-levent"
+     if test x$ac_cv_header_event2_event_h = "xyes"; then
+       AC_SEARCH_LIBS(event_new, [event event_core])
+       AC_SEARCH_LIBS(evdns_base_new, [event event_extra])
+
+       if test $ac_cv_search_event_new != "none required"; then
+         TOR_LIBEVENT_LIBS="$ac_cv_search_event_new"
+       fi
+       if test $ac_cv_search_evdns_base_new != "none required"; then
+         TOR_LIBEVENT_LIBS="$ac_cv_search_evdns_base_new $TOR_LIBEVENT_LIBS"
+       fi
+     else
+       TOR_LIBEVENT_LIBS="-levent"
+     fi
 fi
 
+LIBS="$save_LIBS"
+LDFLAGS="$save_LDFLAGS"
+CPPFLAGS="$save_CPPFLAGS"
+
 dnl This isn't the best test for Libevent 2.0.3-alpha.  Once it's released,
 dnl we can do much better.
 if test "$enable_bufferevents" = "yes" ; then