Skip to content

Creating binary packages for your platform

Catalin Hritcu edited this page Jun 22, 2019 · 20 revisions

Note: This process is now automated via CI scripts, which can automatically build packages for Windows and Linux. You can run .scripts/process_build.sh that both creates and tests the binary package.

Note: to create the package successfully you will need tools like ocaml, opam, z3, make, git, Madoko, LaTeX, and zip installed.

The simplest way to do this is to run make package at the root of the repository. In more detail, it does the following. Note: no cross-platform compilation supported at the moment (We do have experiments now with generating Windows binaries on Linux, so maybe one day it will be possible)

  1. git clean -ffdx . (CH: WARNING: This loses all local changes and don't think it is really necessary. The package script is careful to only pick up files that are added to git.)

  2. Make sure you have installed all the dependencies to build F* using the OCaml snapshot (cf. INSTALL.md) and you are able to build F* in OCaml using:

     $ make -C src ocaml-fstar-ocaml
    
  3. Make sure you have the Z3 binary from https://github.com/FStarLang/binaries/tree/master/z3-tested in your $PATH or in the $FSTAR_HOME/bin directory. Please make sure it's precisely this version!

     $ z3 --version
    
  4. If this is a release make sure you're at the head of the release branch and that your git status is clean

  5. Run the following commands:

     $ cd src/ocaml-output
     $ make package
    

Testing a package

Then, you should test your package by running the testing of binary packages

Clone this wiki locally