Support build of cross compilers to native freestanding targets #25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is the last in the series of patches that are required to build MirageOS unikernels. The only changes still needed are small adjustments in
configureto accept native freestanding targets!It contains:
*-noneand*-elf*target triplets in the configuration of the native-code compiler; I chose those suffixes by looking at what theautoconfvalidation script accepts and what I had the impression is commonly used (a bit biased by the C cross compilers packaged in Debian, maybe)*-ocamltarget triplets as*-noneones when computing the canonical targets, so that one can use for instance thex86_64-solo5-ocaml-*prefix for a toolchain dedicated to building freestanding OCaml applications; this is inspired by the fact thatbuild-aux/config.subaccepts triplets such asx86_64-windows-msvcorjavascript-unknown-ghcjs*-ocamlas target triplets to build freestanding cross compilersocaml-solo5to add C stubs that are necessary to build withtrunk(but not for OCaml 5.2.1, which is the latest version currently supported byocaml-solo5)The
run-crosscompiler-testslabel should be added to this PR to get the Solo5 test running in CI.