Merge #187

187: Add documentation describing `libtock-rs`'s unaudited third-party dependencies. r=jrvanwhy a=jrvanwhy

This document is required by [Tock's threat model](https://github.com/tock/tock/blob/master/doc/threat_model/Code_Review.md).

[Rendered](https://github.com/jrvanwhy/libtock-rs/blob/threat-model-doc/doc/Dependencies.md)

Co-authored-by: Johnathan Van Why <jrvanwhy@google.com>
diff --git a/doc/Dependencies.md b/doc/Dependencies.md
new file mode 100644
index 0000000..f157049
--- /dev/null
+++ b/doc/Dependencies.md
@@ -0,0 +1,29 @@
+Third Party Dependencies
+========================
+
+This document is about dependencies that are required to build applications
+using `libtock-rs`. These dependencies are not contained in the libtock-rs
+repository, but are used by libtock-rs when libtock-rs is used as a dependency
+of an application. Dependencies required to run `libtock-rs`' tests (such as
+`make`) are outside the scope of this document.
+
+## Unaudited Required Dependencies
+
+`libtock-rs` has the following required build dependencies, none of which are
+currently audited:
+
+* The Rust toolchain, including
+  [`cargo`](https://github.com/rust-lang/cargo),
+  [`rustc`](https://github.com/rust-lang/rust/tree/master/src/rustc), and
+  [`libcore`](https://github.com/rust-lang/rust/tree/master/src/libcore). The
+  specific toolchain version used is specified by the `rust-toolchain` file at
+  the root of the repository.
+* [`syn`](https://crates.io/crates/syn), pulled in by `libtock_codegen`.
+* [`quote`](https://crates.io/crates/quote), pulled in by `libtock_codegen`.
+* [`proc-macro2`](https://crates.io/crates/proc-macro2), pulled in by
+  `libtock_codegen`.
+
+## Avoiding Optional Dependencies
+
+To avoid pulling in optional dependencies, users should use `libtock-core`
+instead of `libtock`. `libtock-core` is in the `core/` directory.