|
1 | | -# Notes on VST-on-Iris |
2 | | -(beware: these instructions are now out of date) |
| 1 | +# Building VST-on-Iris (VST 3.x) |
3 | 2 |
|
4 | | -## Building |
| 3 | +## Option 1: Use OPAM |
5 | 4 |
|
6 | | -Install opam: |
| 5 | +VST-on-Iris releases are now available on OPAM as part of the `coq-released` repo, and can be installed automatically -- look for versions numbered 3.x. It may take a few months for new versions to appear on OPAM. |
7 | 6 |
|
8 | | -```(bash) |
9 | | -opam switch create vst_on_iris ocaml-variants.4.14.1+options ocaml-option-flambda |
10 | | -``` |
| 7 | +## Option 2: Build from Source |
11 | 8 |
|
12 | | -Install dependencies: |
| 9 | +You can either clone the current master branch, or download a release from the [Releases](https://github.com/PrincetonUniversity/VST/releases) page. Each release lists the major Iris version and CompCert version it has been tested with (CompCert is only necessary if you want to `clightgen` your own C files), and master will usually work with the same versions as the latest release. The code may also work with dev Iris versions, but probably not those any earlier than the listed version. You will also need to install `coq-flocq`, probably via OPAM. |
13 | 10 |
|
14 | | -```(bash) |
15 | | -opam repo add coq-released https://coq.inria.fr/opam/released |
16 | | -opam repo add iris-dev https://gitlab.mpi-sws.org/iris/opam.git |
17 | | -opam pin add https://github.com/mansky1/ora.git |
18 | | -opam pin add builddep/ |
19 | | -``` |
| 11 | +Once the dependencies are installed and you have the code, run `make -j` to build VST. If you clone the repo, you may first need to do `git submodule update --init ora` to initialize the ORA submodule. |
20 | 12 |
|
21 | | -At this point, we use [`Makefile`](./Makefile) |
22 | | -Compile the [proof for the list reverse function](./progs64/verif_reverse2.v): |
| 13 | +## Running Examples |
| 14 | + |
| 15 | +Run `make *.vo` to compile any example proof. For instance, to compile the [proof for the list reverse function](./progs64/verif_reverse2.v): |
23 | 16 |
|
24 | 17 | ```(bash) |
25 | 18 | make progs64/verif_reverse2.vo -j |
26 | 19 | ``` |
27 | 20 |
|
28 | | -Addtionally, to generate `_CoqProject`: |
| 21 | +To generate a `_CoqProject` file for external use: |
29 | 22 |
|
30 | 23 | ```(bash) |
31 | 24 | make _CoqProject |
32 | 25 | ``` |
33 | 26 |
|
34 | | -## For now we use a slightly old version of `Iris` to avoid dealing with changed notations. |
35 | | - |
36 | | -Iris pinned to: 8f1ed633 |
37 | | - |
38 | | -## `VST` and `VST_on_Iris` name conversion |
| 27 | +## For legacy VST users: `VST` and `VST_on_Iris` name conversion |
39 | 28 |
|
40 | 29 | | VST | vst_on_iris | syntax | |
41 | 30 | | ------------------------- | ---------------------------- | ------------------------------------------- | |
|
0 commit comments