@@ -15,9 +15,10 @@ functionality.
1515
1616 $ git submodule update --init
1717
18- Next, navigate to the ` crucible/dependencies/mir-json ` directory and install
19- ` mir-json ` according to the instructions in [ the ` mir-json `
20- README] [ mir-json-readme ] .
18+ Next, navigate to the ` crucible/dependencies/mir-json ` directory. Install
19+ ` mir-json ` , translate its standard libraries, and define the
20+ ` CRUX_RUST_LIBRARY_PATH ` environment variable according to the instructions in
21+ [ the ` mir-json ` README] [ mir-json-readme ] .
2122
2223Currently, ` crux-mir ` supports [ version
23241] ( https://github.com/GaloisInc/mir-json/blob/master/SCHEMA_CHANGELOG.md#1 ) of
@@ -44,21 +45,6 @@ Use GHC 9.4, 9.6, or 9.8. From the `crux-mir` directory, run:
4445
4546 $ cabal v2-install exe:crux-mir --overwrite-policy=always
4647
47- Then translate the Rust libraries in ` lib/ ` :
48-
49- $ ./translate_libs.sh
50-
51- If you want to cross-compile for a different target, you can optionally set the
52- environment variable ` TARGET ` to a [ target
53- triple] ( https://doc.rust-lang.org/nightly/rustc/platform-support.html ) when
54- running ` ./translate_libs.sh ` . This is experimental and we have only tested
55- ` wasm32-unknown-unknown ` to work; you might get build errors for other targets.
56-
57- $ TARGET=wasm32-unknown-unknown ./translate_libs.sh
58-
59- When upgrading from a previous version, first install the new ` mir-json `
60- version, then rerun the ` cabal v2-install ` and ` ./translate_libs.sh ` commands.
61-
6248
6349## Usage
6450
@@ -71,8 +57,8 @@ compiled by checking for the `crux` configuration predicate using
7157` #[cfg_attr(crux, crux::test)] ` .
7258
7359Test cases can create and manipulate symbolic values using the functions in the
74- [ ` crucible ` ] ( lib/ crucible) Rust crate. See
75- [ ` example/ffs/lib.rs ` ] ( example/ffs/lib.rs ) or the files in
60+ [ ` crucible ` ] ( https://github.com/GaloisInc/mir-json/tree/master/libs/ crucible)
61+ Rust crate. See [ ` example/ffs/lib.rs ` ] ( example/ffs/lib.rs ) or the files in
7662[ ` test/symb_eval/ ` ] ( test/symb_eval ) for examples of creating symbolic values
7763and asserting properties about them.
7864
@@ -81,7 +67,7 @@ and asserting properties about them.
8167Set the ` CRUX_RUST_LIBRARY_PATH ` environment variable to the path to the
8268translated libraries:
8369
84- $ export CRUX_RUST_LIBRARY_PATH=.../crux- mir/rlibs
70+ $ export CRUX_RUST_LIBRARY_PATH=< mir-json checkout> /rlibs
8571
8672In the directory of a Cargo project (such as the [ find-first-set
8773example] ( example/ffs ) ), run the project's symbolic tests:
@@ -120,14 +106,10 @@ To run `crux-mir`'s test suite:
120106
121107 $ cabal v2-test
122108
123- You need to have built and installed the mir-json tool such that it
124- can be found on your $PATH.
125- You also need translated libraries for the Rust target architecture
126- you're testing on.
127- Make sure that the ` rlibs ` symlink exists and points to the right
128- architecture's libraries.
129- If not, run the ` translate_libs.sh ` script as described above under
130- Installation.
109+ You need to have built and installed the mir-json tool such that it can be
110+ found on your $PATH. You also need translated libraries for the Rust target
111+ architecture you're testing on. See the "Preliminaries" section above for more
112+ details.
131113
132114### Expected Failures
133115
0 commit comments