From 0537dab1e434f301727ec9086e31a04157c75960 Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Thu, 12 Nov 2026 16:51:53 +0900 Subject: [PATCH] 0.27.0: the runner states the identity it is built as on FreeBSD (runner.built-as) --- README.md | 8 ++++++++ mcpp.toml | 10 ++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 204ecc6..77d6100 100644 --- a/README.md +++ b/README.md @@ -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.]`, for example `[target.'cfg(platform = "openkal")'.layers] "c++-abi" = false`, and selects another platform, or none, with `platform = "..."` or `--platform`. diff --git a/mcpp.toml b/mcpp.toml index 3d7a41e..2abfd0a 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -12,7 +12,7 @@ [package] namespace = "mcpplibs" name = "openkal-platform" -version = "0.26.0" +version = "0.27.0" description = "The platform of ok images (-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"] @@ -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" }