Fix the default for TOR_RUST_DEPENDENCIES

By default, we want to look at the crates directory of the
submodule, not the toplevel of the submodule.  Fixes bug 25679;
bugfix on 0.3.3.1-alpha.
This commit is contained in:
Nick Mathewson 2018-03-30 08:53:58 -04:00
parent 6aaafb0672
commit e3ad4957a8
2 changed files with 10 additions and 6 deletions

4
changes/bug25679 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes (compilation, rust):
- Build correctly when the rust dependencies submodule is loaded,
but the TOR_RUST_DEPENDENCIES environment variable is not set.
Fixes bug 25679; bugfix on 0.3.3.1-alpha.

View File

@ -440,23 +440,23 @@ if test "x$enable_rust" = "xyes"; then
AC_MSG_CHECKING([rust crate dependencies])
AC_ARG_VAR([TOR_RUST_DEPENDENCIES], [path to directory with local crate mirror])
if test "x$TOR_RUST_DEPENDENCIES" = "x"; then
TOR_RUST_DEPENDENCIES="$srcdir/src/ext/rust/"
NEED_MOD=1
TOR_RUST_DEPENDENCIES="${srcdir}/src/ext/rust/crates"
fi
dnl Check whether the path exists before we try to cd into it.
if test ! -d "$TOR_RUST_DEPENDENCIES"; then
AC_MSG_ERROR([Rust dependency directory $TOR_RUST_DEPENDENCIES does not exist. Specify a dependency directory using the TOR_RUST_DEPENDENCIES variable or allow cargo to fetch crates using --enable-cargo-online-mode.])
ERRORED=1
fi
dnl Make the path absolute, since we'll be using it from within a
dnl subdirectory.
TOR_RUST_DEPENDENCIES=$(cd "$TOR_RUST_DEPENDENCIES" ; pwd)
for dep in $rust_crates; do
if test ! -d "$TOR_RUST_DEPENDENCIES"/"$dep"; then
AC_MSG_ERROR([Failure to find rust dependency $TOR_RUST_DEPENDENCIES/$dep. Specify a dependency directory using the TOR_RUST_DEPENDENCIES variable or allow cargo to fetch crates using --enable-cargo-online-mode.])
ERRORED=1
fi
done
if test "x$NEED_MOD" = "x1"; then
dnl When looking for dependencies from cargo, pick right directory
TOR_RUST_DEPENDENCIES="../../src/ext/rust"
fi
if test "x$ERRORED" = "x"; then
AC_MSG_RESULT([yes])
fi