diff --git a/.gitmodules b/.gitmodules index e5c13b8f0..7b798103f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -49,3 +49,6 @@ [submodule "deps/lmdb"] path = deps/lmdb url = https://github.com/GaloisInc/lmdb.git +[submodule "deps/mir-json"] + path = deps/mir-json + url = https://github.com/GaloisInc/mir-json.git diff --git a/README.md b/README.md index 18bfd9112..4bc5cf09f 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,18 @@ will be possible for all language constructs. There are various instructions that are not supported during verification. However, any failure during `llvm_load_module` should be considered a bug. +## Notes on Rust + +SAW has experimental support for analyzing Rust programs. To do so, one must +compile Rust code using [`mir-json`](https://github.com/GaloisInc/mir-json), a +tool which compiles Rust code to a machine-readable, JSON-based format. Each +version of SAW understands the JSON output of a particular version of +`mir-json`, so make sure that you build the version `mir-json` that is included +in the `mir-json` submodule (located in `deps/mir-json`). + +For more information on how to install `mir-json`, follow the instructions +[here](https://github.com/GaloisInc/mir-json#installation-instructions). + ## Notes on Windows If you have trouble loading the SAW REPL on Windows, try invoking it diff --git a/deps/mir-json b/deps/mir-json new file mode 160000 index 000000000..131980a17 --- /dev/null +++ b/deps/mir-json @@ -0,0 +1 @@ +Subproject commit 131980a17bb27c2c3c616a1e8bfb4253a528c328