소스 검색

Merge branch 'maint-0.3.2'

Nick Mathewson 6 년 전
부모
커밋
f470756cf4
3개의 변경된 파일19개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      Makefile.am
  2. 6 0
      changes/bug24652
  3. 11 0
      configure.ac

+ 2 - 1
Makefile.am

@@ -26,7 +26,8 @@ TESTING_TOR_BINARY=$(top_builddir)/src/or/tor$(EXEEXT)
 endif
 endif
 
 
 if USE_RUST
 if USE_RUST
-rust_ldadd=$(top_builddir)/src/rust/target/release/@TOR_RUST_STATIC_NAME@
+rust_ldadd=$(top_builddir)/src/rust/target/release/@TOR_RUST_STATIC_NAME@ \
+	@TOR_RUST_EXTRA_LIBS@
 else
 else
 rust_ldadd=
 rust_ldadd=
 endif
 endif

+ 6 - 0
changes/bug24652

@@ -0,0 +1,6 @@
+  o Minor bugfixes (build, compatibility, rust, OSX):
+
+    - When building with Rust on OSX, link against libresolv, to
+      work around the issue at
+      https://github.com/rust-lang/rust/issues/46797. Fixes bug
+      24652; bugfix on 0.3.1.1-alpha.

+ 11 - 0
configure.ac

@@ -456,6 +456,15 @@ if test "x$enable_rust" = "xyes"; then
     fi
     fi
   fi
   fi
 
 
+  dnl This is a workaround for #46797
+  dnl (a.k.a https://github.com/rust-lang/rust/issues/46797 ).  Once the
+  dnl upstream bug is fixed, we can remove this workaround.
+  case "$host_os" in
+      darwin*)
+        TOR_RUST_EXTRA_LIBS="-lresolv"
+	;;
+  esac
+
   dnl For now both MSVC and MinGW rust libraries will output static libs with
   dnl For now both MSVC and MinGW rust libraries will output static libs with
   dnl the MSVC naming convention.
   dnl the MSVC naming convention.
   if test "$bwin32" = "true"; then
   if test "$bwin32" = "true"; then
@@ -482,6 +491,8 @@ if test "x$enable_rust" = "xyes"; then
   AC_MSG_RESULT([$RUSTC_VERSION])
   AC_MSG_RESULT([$RUSTC_VERSION])
 fi
 fi
 
 
+AC_SUBST(TOR_RUST_EXTRA_LIBS)
+
 AC_SEARCH_LIBS(socket, [socket network])
 AC_SEARCH_LIBS(socket, [socket network])
 AC_SEARCH_LIBS(gethostbyname, [nsl])
 AC_SEARCH_LIBS(gethostbyname, [nsl])
 AC_SEARCH_LIBS(dlopen, [dl])
 AC_SEARCH_LIBS(dlopen, [dl])