Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tamer/configure.ac')
-rw-r--r--tamer/configure.ac19
1 files changed, 19 insertions, 0 deletions
diff --git a/tamer/configure.ac b/tamer/configure.ac
index f2a1bff..8cca174 100644
--- a/tamer/configure.ac
+++ b/tamer/configure.ac
@@ -55,6 +55,16 @@ AX_COMPARE_VERSION([$rustc_version], [ge], [$rustc_ver_req],
AC_ARG_VAR([CARGO_BUILD_FLAGS],
[Flags to be passed to `cargo build' when invoked via Make])
+# The `intra_rustdoc_links` feature is required for building
+# documentation. If unavailable, then it's still an unstable feature and
+# we'll need to use nightly. We don't check for nightly here, though---if
+# it's missing, then cargo will tell the user what to do.
+AC_MSG_CHECKING([`intra_rustdoc_links_check` feature support])
+AS_IF(["$RUSTC" --crate-type lib build_aux/intra_rustdoc_links_check.rs &>/dev/null],
+ [AC_MSG_RESULT(available)],
+ [AC_MSG_RESULT([no (nightly required)])
+ AC_SUBST([CARGO_DOC_FLAGS], [+nightly])])
+
# The `test` feature is required for benchmarking. If unavailable, then
# it's still an unstable feature and we'll need to use nightly. We don't
# check for nightly here, though---if it's missing, then cargo will tell the
@@ -74,6 +84,15 @@ AS_IF([cargo fmt --help &>/dev/null],
cargo fmt --help # run again so user can see output
AC_MSG_ERROR([missing cargo-fmt for active toolchain])])
+# Cargo commands may be available but not necessarily installed for the
+# active toolchain. Let's check that.
+AC_MSG_CHECKING([whether cargo-doc is available for toolchain])
+AS_IF([cargo $CARGO_DOC_FLAGS doc --help &>/dev/null],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ cargo $CARGO_DOC_FLAGS doc --help # run again so user can see output
+ AC_MSG_ERROR([missing cargo-doc for toolchain])])
+
AC_CONFIG_FILES([Makefile])
AC_OUTPUT