Add support for OCaml 4.06 and 4.07#205
Add support for OCaml 4.06 and 4.07#205avsm merged 3 commits intomirage:masterfrom anmonteiro:anmonteiro/ocaml-406-407
Conversation
|
This looks fine to me from a cursory review. Have you tested that Mirage unikernels built with the newer compilers actually run on Xen? @yomimono Could you review this please and/or help with testing? |
mirage-xen-ocaml.opam
Outdated
| "ocamlfind" {build} | ||
| "ocaml-src" | ||
| "ocamlbuild" {build} | ||
|
|
|
@mato Yes, I ran a simple example in all switches and they compiled and ran successfully. It was, however, a simple unikernel, I could do more testing with a more complex one that uses more functionality. |
|
Following up, I just built and ran EDIT: needed to pin a couple packages ( |
|
Thank you for testing this. @mirage/core, can we get one more review and merge this if happy, then work together with @anmonteiro to release updated packages? My plate is full for the coming weeks. |
|
I'll take this one and test shortly. |
|
Testing on 4.07; this patch works but just tracking down a possible race in mirage-net-xen that's causing the static website build to fail. mirage-www also works in 4.06 and needs rrd updated to 4.07 |
|
This changeset looks good. The issues on Xen were due to semantic changes in the device versioning (frontend trying to connect to |
- add support for OCaml 4.06 and 4.07 in the xen backend (mirage/mirage-platform#205 by @anmonteiro) - update opam metadata to 2.0 format (@avsm)
supports forthcoming dune support as part of mirage/mirage#969: * Add support for OCaml 4.08 (mirage/mirage-platform#206 by @anmonteiro) * `libxenasmrun.a` is symlinked in the ocaml directory in order to be able to use ocamlopt's `-runtime-variant` option. * Expose flags through files as well as pkg-config (mirage/mirage-platform#205 by @TheLortex). Instead of pkg-config, one can use the following files to get compilation flags: * mirage-xen-ocaml/libs * mirage-xen-ocaml/cflags * mirage-xen-posix/minios-cflags * mirage-xen-posix/minios-libs * mirage-xen-posix/posix-cflags * mirage-xen-posix/posix-libs With dune this allows us to write `%{lib:mirage-xen-posix:posix-libs}` to get the flags instead of having a script invoking `pkg-config mirage-xen-posix --libs`.
This PR adds support for more recent OCaml versions (4.06.x and 4.07.x).
I tested across all the supported versions (including the old ones) manually to make sure I didn't introduce any regressions.
There's probably some more testing necessary, but I wanted to open the PR right away to get feedback as soon as possible.