Skip to content

Commit

Permalink
Update the README with the current components
Browse files Browse the repository at this point in the history
  • Loading branch information
shym committed Dec 11, 2024
1 parent f9a1ad1 commit 87e74d5
Showing 1 changed file with 21 additions and 13 deletions.
34 changes: 21 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,32 +20,40 @@ on your system as a dependency when you build this package.

## Components

The following components are built and installed:
The following components are built and installed, where `$prefix` and `$sysroot`
are the values given to the corresponding `configure` arguments (ie the value of
`opam var prefix` and `opam var <pkg>:lib` when installed via OPAM).

In `PREFIX/solo5-sysroot/bin`:
In `$prefix/bin`:

- `ocamlc`: a bytecode OCaml compiler configured for the chosen target. Please
note that the bytecode runtime is not supported.
- `ocamlopt`: a native OCaml compiler configured for the chosen
- the toolchain to build binaries, using the `<arch>-solo5-ocaml-` prefix.

`$sysroot` will contain the installation of the OCaml compiler and the `nolibc`
and OpenLibm support libraries.

In `$sysroot/bin`:
- `ocamlopt.{opt,byte}`: a native OCaml compiler configured for the chosen
target.
- Some other standard tools such as the `ocaml` interpreter and
`ocamlc.{byte,opt}` a bytecode OCaml compiler configured for the chosen
target. Please note that the bytecode runtime is not supported.

In `PREFIX/solo5-sysroot/lib/ocaml`:
- `libasmrun.a`, `libotherlibs.a`: OCaml native code runtime.
- Compiler libraries.
In `$sysroot/lib/ocaml`:
- `libasmrun.a`: the OCaml native code runtime for the Solo5 target.
- The standard library.
- In `caml/`: Header files for the OCaml runtime.

In `PREFIX/solo5-sysroot/lib/nolibc`:
In `$prefix/lib`:

- `libnolibc.a`: libc interfaces required by the OCaml runtime.
- `libopenlibm.a`: libm required by the OCaml runtime.

In `PREFIX/solo5-sysroot/include/nolibc`:
In `$sysroot/include`:

- Header files for nolibc and openlibm.
- Header files for `nolibc` and OpenLibm.

In `PREFIX/lib/findlib.conf.d`:
In `$prefix/lib/findlib.conf.d`:

- `solo5.conf`: ocamlfind definition of the cross-compilation switch.
- `solo5.conf`: ocamlfind definition of the cross-compilation toolchain.

### Usage
Expand Down

0 comments on commit 87e74d5

Please sign in to comment.