]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix libevent autoconf bug #2698
authorJacob Appelbaum <jacob@appelbaum.net>
Thu, 17 Mar 2011 01:35:31 +0000 (18:35 -0700)
committerSebastian Hahn <sebastian@torproject.org>
Sun, 27 Mar 2011 03:38:51 +0000 (05:38 +0200)
changes/bug2698 [new file with mode: 0644]
configure.in

diff --git a/changes/bug2698 b/changes/bug2698
new file mode 100644 (file)
index 0000000..3c2468f
--- /dev/null
@@ -0,0 +1,3 @@
+  o Minor build issues
+    - We incorrectly linked libevent when configured with
+      --enable-static-libevent.  Fixes bug 2698.
index 4436fe20751c6ebed143fd8020de81295a1fe823..bd9417425249430b72dc42f0b572c04875225e7b 100644 (file)
@@ -271,7 +271,21 @@ tor_libevent_pkg_debian="libevent-dev"
 tor_libevent_devpkg_redhat="libevent-devel"
 tor_libevent_devpkg_debian="libevent-dev"
 
-TOR_SEARCH_LIBRARY(libevent, $trylibeventdir, [-levent $TOR_LIB_WS32], [
+dnl On Gnu/Linux or any place we require it, we'll add librt to the Libevent
+dnl linking for static builds.
+STATIC_LIBEVENT_FLAGS=""
+if test "$enable_static_libevent" = "yes"; then
+    dnl Determine if we have clock_gettime in librt
+    AC_SEARCH_LIBS([clock_gettime], [rt],
+        [have_rt=yes])
+    if test "$have_rt" = yes; then
+      STATIC_LIBEVENT_FLAGS=" -lrt "
+    else
+      STATIC_LIBEVENT_FLAGS=""
+    fi
+fi
+
+TOR_SEARCH_LIBRARY(libevent, $trylibeventdir, [-levent $STATIC_LIBEVENT_FLAGS $TOR_LIB_WS32], [
 #ifdef WIN32
 #include <winsock2.h>
 #endif
@@ -294,7 +308,7 @@ dnl Now check for particular libevent functions.
 save_LIBS="$LIBS"
 save_LDFLAGS="$LDFLAGS"
 save_CPPFLAGS="$CPPFLAGS"
-LIBS="-levent $TOR_LIB_WS32 $LIBS"
+LIBS="-levent $STATIC_LIBEVENT_FLAGS $TOR_LIB_WS32 $LIBS"
 LDFLAGS="$TOR_LDFLAGS_libevent $LDFLAGS"
 CPPFLAGS="$TOR_CPPFLAGS_libevent $CPPFLAGS"
 AC_CHECK_FUNCS(event_get_version event_get_version_number event_get_method event_set_log_callback evdns_set_outgoing_bind_address event_base_loopexit)
@@ -315,7 +329,7 @@ if test "$enable_static_libevent" = "yes"; then
    if test "$tor_cv_library_libevent_dir" = "(system)"; then
      AC_MSG_ERROR("You must specify an explicit --with-libevent-dir=x option when using --enable-static-libevent")
    else
-     TOR_LIBEVENT_LIBS="$TOR_LIBDIR_libevent/libevent.a"
+     TOR_LIBEVENT_LIBS="$TOR_LIBDIR_libevent/libevent.a $STATIC_LIBEVENT_FLAGS"
    fi
 else
      TOR_LIBEVENT_LIBS="-levent"