-
Notifications
You must be signed in to change notification settings - Fork 45
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
@@ -14,5 +14,6 @@ depends: [ | |||
"ocamlfind" {build} | |||
"ocaml-src" | |||
"ocamlbuild" {build} | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Extraneous blank line.
@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.