Skip to content

Commit

Permalink
Use -lresolv in LIBS with rust on OSX.
Browse files Browse the repository at this point in the history
This fixes issue #24652, and is a workaround for Rust issue
rust-lang/rust#46797 .
  • Loading branch information
nmathewson committed Jan 4, 2018
1 parent 9ef97a2 commit 2ac9734
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
3 changes: 2 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions changes/bug24652
Original file line number Diff line number Diff line change
@@ -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 changes: 11 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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])
Expand Down

0 comments on commit 2ac9734

Please sign in to comment.