diff --git a/README.md b/README.md index 1aab66a85fa313452576e984bb899c7825b7981a..c45bc2da5c72a15b6394196590fe00c6ab3b4567 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,64 @@ # COLIBRI -## Special directories +## Bundle -`Bin/` and `Src/` directories are copied from their respective -repositories using the `release_colibri_opensource.sh` script found in -`gatel/Src`'s original repository. They should be considered read-only -here. +The command `make bundle` will create a relocalisable directory named +`bundle` containing the ` colibri` executables. -## Bundle +## Dependencies + +In addition to the =Eclipse (CLP)= environment that is +distributed within the bundle, the `colibri` solver relies +on two auxiliary libraries: + +- `float_util.so` +- `simplex_ocaml.so` + +The simplex library needs to link to `libgmp.so`, which can +be installed using your distribution (e.g. on Debian from +the ` libgmp-dev` package). + +In order to build `simplex_ocaml.so`, it is necessary to +have `opam` installed and configured, in order to install +the following OCaml modules: -In order to create a bundle of everything needed to run COLIBRI. run -`./compile_colibri.sh` then run `./bundle.sh` it will create -a relocalisable directory `bundle`. + - dune + - fmt + - gen + - menhir + - ocplib-simplex + - parsexp + - spelll + - uutf + - zarith + +The exact versions required are listed in `.gitlab-ci.yml`. ## Compilation on linux -The up-to-date information could be found in `.gitlab-ci.yml`. +The command `make` builds all the libraries and executables. + +The `Makefile` can be parameterized by two environment +variables, `BUNDLE` (which is the directory where the bundle +is created), and `ECL_VERSION`, which indicates which +version of the Eclipse library should be used (see `Makefile` +for details). ## Compilation on windows The compilation is helped by using https://fdopen.github.io/opam-repository-mingw/, it will install ocaml -compiler but also mingw for the C part. Use ocaml-env to setup the +compiler but also mingw for the C part. Use `ocaml-env` to setup the environement for the compilation. Then the compilation is the same than for linux. +## Remarks + +`Bin/` and `Src/` directories are copied from their respective +repositories using the `release_colibri_opensource.sh` script found in +`gatel/Src`'s original repository. They should be considered read-only +here. + ## LICENCE This is the open-source colibri distribution.