Build native Debian/Ubuntu/Brew/etc versions of oxcaml packages
0

Configure Feed

Select the types of activity you want to include in your feed.

README.md

OxCaml 5.2.0minus31 - pre-unpacked build bundle#

This single tree contains everything needed to build the OxCaml 5.2.0minus31 compiler offline:

.
├── build.sh            # build driver
├── Makefile            # make / make install
├── README.md
└── oxcaml-<hash>/      # the OxCaml source, already unpacked + patched
    ├── ...                 (ignore-opam.patch + cut-fix.patch applied)
    ├── ocaml-5.4.0/        # bootstrap archives, already unpacked here
    ├── dune-3.20.2/        # (inside, as ignore-opam.patch needs)
    └── menhir-20231231-d3d815e4f554da68b8c247241c8f8678926eecaa/

<hash> is the short revision of oxcaml/opam-repository the packaging came from — it records provenance only; the compiler itself is not modified. build.sh/Makefile locate the source dir automatically. No network and no other sources are required.

Build & install#

make            PREFIX=/opt/oxcaml/5.2.0minus31 -j
make install    PREFIX=/opt/oxcaml/5.2.0minus31 DESTDIR=/tmp/stage
  • PREFIX is baked in at configure time — the built tree is relocatable to PREFIX. Pass the same PREFIX to both commands.
  • DESTDIR only shifts where the tree is laid down (still PREFIX-relative), for packaging. Omit it to install into PREFIX directly.
  • JOBS controls parallelism (default: nproc).

The build bootstraps OCaml 5.4.0 → dune 3.20.2 → menhir into <srcdir>/init_deps, then configures the flambda2 compiler (--enable-middle-end=flambda2 --enable-runtime5 --enable-stack-checks --enable-poll-insertion --enable-multidomain) and builds it.

Requirements#

glibc Linux on x86_64/arm64. Tools: a C/C++ toolchain, make, m4, autoconf, perl, rsync, tar.