Toolchain = compiler + tools that must match the project's OCaml version.
Dune manages toolchains transparently: download, build, cache, and select the right compiler for each build context.
This document details the details of the compilation process for MirageOS unikernels. It outlines the steps required to prepare, compile, and manage dependencies for Mirage applications.
Developing a simple application with Mirage involves starting with two primary files:
config.ml: Contains the configuration of your unikernel.| open Mirage | |
| let disk = generic_kv_ro "t" | |
| let main = foreign "Unikernel.Main" (kv_ro @-> job) | |
| let () = register ~reporter:Mirage.no_reporter "kv_ro" [ main $ disk ] |
| # Solver: builtin-mccs+glpk | |
| # Criteria: -removed,-count[version-lag,request],-count[version-lag,changed],-changed | |
| preamble: | |
| property: opam-query: int = [0], version-lag: nat = [0], pinned: bool = [false], installed-root: bool = [false], reinstall: bool = [false], opam-version: string, opam-name: string | |
| package: fstar | |
| version: 3 | |
| depends: ocaml >= 34 , ocamlfind , batteries , ocamlbuild , num | |
| conflicts: fstar | |
| version-lag: 5 |