-
Notifications
You must be signed in to change notification settings - Fork 32
Add support for OCaml 5.4.0 #155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Should we really keep 5.3.0 support when 5.4.0 is available? If yes, why? I read that there are very good changes in 5.4. |
|
also, Mirage CI: can we get a 5.4 builder? |
I hope that |
It’s more that I didn’t see any compelling reasons to break support for 5.3.0 (and not everything might be compatible with 5.4.0 yet). It could make it easier to run benchmarks with the two compilers, if that’s useful. Even if I know many more GC improvements are only in the pipeline and not yet in 5.4.
Indeed. |
The patches left now really only enable freestanding targets, so I don’t expect they could have any impact there. So if there are differences, we’ll have a better chance of tracking their origin (some compiler |
Should be the case as soon as ocurrent/mirage-ci#53 is merged |
|
Hi, is there further work needed to merge 5.4 support? |
|
I can confirm that |
|
I just applied Hannes’ suggestions on the version constraints and rebased. |
patches/5.4.0/0001-Accept-native-freestanding-targets-at-configure-time.patch
Outdated
Show resolved
Hide resolved
aab2042 to
4fdf10e
Compare
|
@dinosaure: we should really use |
Test the possibility to use an opam-installed global dependency in a unikernel (without rebuilding it with the OCaml/Solo5 cross compiler) Also add the run of that test with `solo5-hvt` Co-authored-by: Samuel Hym <[email protected]>
|
I’ve merged the conflicting changes, this is now ready, I think. |
dinosaure
left a comment
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.
Seesm perfect for me.
|
Great. I'll take the opportunity to merge and cut a release. Thanks to everybody involved. |
* Support OCaml 5.4.0 (@shym mirage/ocaml-solo5#155) * Add test of (host) ocaml-installed fmt in one example (@dinosaure mirage/ocaml-solo5#155) * Use plain text diffs, use opatch instead of git apply (@shym @dinosaure @hannesm mirage/ocaml-solo5#154) * Cleanup opam package dependencies (@shym mirage/ocaml-solo5#156)
This PR adds support for OCaml 5.4.0.
The patches for the compiler are in plain text, so as to be compatible with whatever choice we go with, regarding our patch tool (cf #151, #154). Anyway, we are down to 3 patches, 2 of which will be in 5.5.
The third patch is there to set the limit to 1 domain (in particular to avoid allocating memory for 128 domains). I think a patch might still be the best way to change that behaviour of the compiler in the versions to come (the commit message of that patch explains an alternative, exploiting
OCAMLRUNPARAM’sdparameter, but that would require some kind ofsscanfinnolibc).Small note: the example outputting
Sys.unixnow properly returnsfalse, as it should, with OCaml 5.4.0 (as part of the cross-compilation patches in OCaml 5.4.0).