Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,14 @@ implementation provides, and its okrun is built for FreeBSD as well, so
requires mcpp 2026.11.10.1; mcpp 2026.11.10.2 and later select it for the
FreeBSD musl rows by default.

Platform 0.27.0 states the identity its runner is built as on FreeBSD
(`runner.built-as`): `x86_64-freebsd-musl` and `aarch64-freebsd-musl`. mcpp
2026.11.12.1 reads the statement, and a package that carries its runner for
every system (`mcpp pack --mode self-contained --systems all`) carries
FreeBSD's; before, which identity a system's runner is was a table of the
engine. The version group is that of 0.26.0. An mcpp earlier than 2026.11.12.1
names the key it does not read and ignores it.

A project overrides any group under `[target.<selector>]`, for example
`[target.'cfg(platform = "openkal")'.layers] "c++-abi" = false`, and selects
another platform, or none, with `platform = "..."` or `--platform`.
Expand Down
10 changes: 8 additions & 2 deletions mcpp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
[package]
namespace = "mcpplibs"
name = "openkal-platform"
version = "0.26.0"
version = "0.27.0"
description = "The platform of ok images (<arch>-openkal): their toolchain, C library and C++ run-time, tools, compile and link conventions, seal, runner and carrier, as one versioned statement mcpp reads."
license = "Apache-2.0"
authors = ["mcpplibs"]
Expand All @@ -30,7 +30,13 @@ toolchain = "llvm@23.1.3"
# `hosts` are the systems and architectures openkal-tools builds it for, which is
# where a package that needs it can run (mcpp's `runs_on`). FreeBSD (0.26.0):
# okrun over openkal-freebsd, beneath openkal-musl or beside the system's libc.
runner = { cmd = ["okrun", "{}"], host = "same-arch", hosts = ["linux-x86_64", "linux-aarch64", "macos-aarch64", "windows-x86_64", "freebsd-x86_64", "freebsd-aarch64"] }
# `built-as` (0.27.0; mcpp 2026.11.12.1 reads it, an earlier mcpp names the key
# and ignores it): the identity the runner's program for a host pair is built
# as, where the engine holds no convention for the system. A package that
# carries its runner (`mcpp pack --mode self-contained --systems all`) builds
# FreeBSD's as the musl identity this platform's hosted arrangement serves: one
# static program, the same whichever machine packs it.
runner = { cmd = ["okrun", "{}"], host = "same-arch", hosts = ["linux-x86_64", "linux-aarch64", "macos-aarch64", "windows-x86_64", "freebsd-x86_64", "freebsd-aarch64"], built-as = { "freebsd-x86_64" = "x86_64-freebsd-musl", "freebsd-aarch64" = "aarch64-freebsd-musl" } }
# `mcpp pack --mode self-contained`: a program of the packing machine that
# carries the image in a section and runs it through libokrun (M3).
carrier = { package = "openkal-run@0.6.1", section = ".oke", main = "carrier/main.cpp" }
Expand Down
Loading