We recommend compiling the development using Docker. To do this,
- Make sure you have Docker installed.
- Run
docker build -t="axsl:popl" .
to build the Docker image.
The building process may take up to one hour, including installing dependencies and compilation.
Optionally, you can follow this by executing docker run -i -t axsl:popl
to start a container with the freshly built image and access
an interactive shell inside it.
In order to build the development, you might have to increase the amount of memory allocated to a running Docker container. For instructions, see here.
All dependencies install instruction assume you can use opam
. If needed,
instructions are available here: https://opam.ocaml.org/doc/Install.html.
You need to add the coq opam repository for some of the dependencies:
opam repo add coq-released https://coq.inria.fr/opam/released
This project uses the dune build system. It can be installed with:
opam install dune
Install Coq 8.18.0
opam pin coq 8.18.0
You need to add the iris opam repository to install Iris and stdpp :
opam repo add iris-dev https://gitlab.mpi-sws.org/iris/opam.git
This development uses Iris 4.2.0:
opam install coq-iris.4.2.0 -y
This development uses stdpp
and stdpp-bitvector
1.10.0:
opam install coq-stdpp.1.10.0 -y
opam install coq-stdpp-bitvector.1.10.0 -y
This development uses a small Iris extension iris-named-prop
.
Clone it with
git clone https://github.com/tchajed/iris-named-props.git
In the cloned directory, check out to the version that has been tested:
git checkout 327119f
Install with opam:
opam pin . -y
This repository use the Coq record update library. To install it do:
opam install coq-record-update
Install the libraries listed in system-semantics/INSTALL.md
but not mentioned above
In the directory, run:
dune build