summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Hahn <sebastian@torproject.org>2017-05-02 05:06:45 +0200
committerNick Mathewson <nickm@torproject.org>2017-05-19 08:47:11 -0400
commitd6f9a4f11acdfc8efea19a1644f355cdb90bfbb5 (patch)
tree0436dd60dc6d139535aae46b22a948402fd5faf4
parented15511ac3ace940956c6c72a61387d37f035160 (diff)
downloadtor-d6f9a4f11acdfc8efea19a1644f355cdb90bfbb5.tar.gz
tor-d6f9a4f11acdfc8efea19a1644f355cdb90bfbb5.zip
cargo-online-mode configure argument
Passing --enable-cargo-online-mode during configure allows cargo to make network requests while building Tor or running tests. If this flag is not supplied, the dependencies need to be available in the form of a local mirror.
-rw-r--r--configure.ac8
-rw-r--r--src/rust/tor_util/include.am2
-rw-r--r--src/test/include.am3
-rwxr-xr-xsrc/test/test_rust.sh2
4 files changed, 12 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index d281903fcc..1a780d3c3b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,6 +57,8 @@ AC_ARG_ENABLE(memory-sentinels,
AS_HELP_STRING(--disable-memory-sentinels, [disable code that tries to prevent some kinds of memory access bugs. For fuzzing only.]))
AC_ARG_ENABLE(rust,
AS_HELP_STRING(--enable-rust, [enable rust integration]))
+AC_ARG_ENABLE(cargo-online-mode,
+ AS_HELP_STRING(--enable-cargo-online-mode, [Allow cargo to make network requests to fetch crates. For builds with rust only.]))
if test "x$enable_coverage" != "xyes" -a "x$enable_asserts_in_tests" = "xno" ; then
AC_MSG_ERROR([Can't disable assertions outside of coverage build])
@@ -267,6 +269,12 @@ if test "x$enable_rust" = "xyes"; then
fi
AC_DEFINE([HAVE_RUST], 1, [have Rust])
+ if test "x$enable_cargo_online_mode" = "xyes"; then
+ CARGO_ONLINE=
+ else
+ CARGO_ONLINE=--frozen
+ fi
+ AC_SUBST(CARGO_ONLINE)
fi
ifdef([AC_C_FLEXIBLE_ARRAY_MEMBER], [
diff --git a/src/rust/tor_util/include.am b/src/rust/tor_util/include.am
index 3b877649a3..863046b929 100644
--- a/src/rust/tor_util/include.am
+++ b/src/rust/tor_util/include.am
@@ -7,6 +7,6 @@ EXTRA_DIST +=\
src/rust/target/release/libtor_util.a: FORCE
( cd "$(abs_top_srcdir)/src/rust/tor_util" ; \
CARGO_TARGET_DIR="$(abs_top_builddir)/src/rust/target" \
- $(CARGO) build --release --quiet --frozen )
+ $(CARGO) build --release --quiet $(CARGO_ONLINE) )
FORCE:
diff --git a/src/test/include.am b/src/test/include.am
index 5fd61dd3e6..c0aca8afe2 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -7,7 +7,8 @@ TESTS_ENVIRONMENT = \
export abs_top_srcdir="$(abs_top_srcdir)"; \
export builddir="$(builddir)"; \
export TESTING_TOR_BINARY="$(TESTING_TOR_BINARY)"; \
- export CARGO="$(CARGO)";
+ export CARGO="$(CARGO)"; \
+ export CARGO_ONLINE="$(CARGO_ONLINE)";
TESTSCRIPTS = \
src/test/fuzz_static_testcases.sh \
diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh
index b41be978b9..7c71008e02 100755
--- a/src/test/test_rust.sh
+++ b/src/test/test_rust.sh
@@ -7,7 +7,7 @@ exitcode=0
for crate in $crates; do
cd "${abs_top_srcdir:-.}/src/rust/${crate}"
- "${CARGO:-cargo}" test --frozen || exitcode=1
+ "${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} || exitcode=1
done
exit $exitcode