From e3ad4957a8d06716d3e5dad9cda09ce236b941d1 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 30 Mar 2018 08:53:58 -0400 Subject: [PATCH] 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. --- changes/bug25679 | 4 ++++ configure.ac | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 changes/bug25679 diff --git a/changes/bug25679 b/changes/bug25679 new file mode 100644 index 0000000000..9247a29153 --- /dev/null +++ b/changes/bug25679 @@ -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. diff --git a/configure.ac b/configure.ac index 2045e0d5f1..143044956f 100644 --- a/configure.ac +++ b/configure.ac @@ -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