summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-01-04 14:02:24 -0500
committerNick Mathewson <nickm@torproject.org>2018-01-04 14:02:24 -0500
commit2ac9734bd21f3eecb20560cde5c4037230029157 (patch)
treed89b2f263a5286cd188564f7bdb27ee973b59776
parent9ef97a268b06fed7b07908823600911a2a6eadc1 (diff)
downloadtor-2ac9734bd21f3eecb20560cde5c4037230029157.tar.gz
tor-2ac9734bd21f3eecb20560cde5c4037230029157.zip
Use -lresolv in LIBS with rust on OSX.
This fixes issue #24652, and is a workaround for Rust issue https://github.com/rust-lang/rust/issues/46797 .
-rw-r--r--Makefile.am3
-rw-r--r--changes/bug246526
-rw-r--r--configure.ac11
3 files changed, 19 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index ad2ceb66a9..a126986f3a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -26,7 +26,8 @@ TESTING_TOR_BINARY=$(top_builddir)/src/or/tor$(EXEEXT)
endif
if USE_RUST
-rust_ldadd=$(top_builddir)/src/rust/target/release/@TOR_RUST_UTIL_STATIC_NAME@
+rust_ldadd=$(top_builddir)/src/rust/target/release/@TOR_RUST_UTIL_STATIC_NAME@ \
+ @TOR_RUST_EXTRA_LIBS@
else
rust_ldadd=
endif
diff --git a/changes/bug24652 b/changes/bug24652
new file mode 100644
index 0000000000..6e35e259e9
--- /dev/null
+++ b/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.
diff --git a/configure.ac b/configure.ac
index 1bd782eb80..6bfbc23268 100644
--- a/configure.ac
+++ b/configure.ac
@@ -436,6 +436,15 @@ if test "x$enable_rust" = "xyes"; then
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 the MSVC naming convention.
if test "$bwin32" = "true"; then
@@ -460,6 +469,8 @@ if test "x$enable_rust" = "xyes"; then
fi
fi
+AC_SUBST(TOR_RUST_EXTRA_LIBS)
+
AC_SEARCH_LIBS(socket, [socket network])
AC_SEARCH_LIBS(gethostbyname, [nsl])
AC_SEARCH_LIBS(dlopen, [dl])