From fc7771ba3753942e3fb3a768989a286a216c28eb Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Tue, 10 Nov 2026 11:18:29 +0900 Subject: [PATCH] 0.25.0 --- the openkal 0.25 family openkal 0.25.0, openkal-linux 0.26.0, openkal-macos 0.23.0, openkal-windows 0.21.0, openkal-musl 0.29.0, openkal-llvm-runtime 0.20.0 and openkal-image 0.5.5 as one version group; the layers, the carrier and the tools name them. The platform requires mcpp 2026.11.9.1, as 0.24.5 does. --- README.md | 8 ++++++++ mcpp.toml | 50 +++++++++++++++++++++++++++----------------------- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 8f6d062..252ad07 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,14 @@ default per system: an implementation the graph already has is the one bound, and a system a platform defines needs no patch of openkal-run. The platform requires mcpp 2026.11.9.1, which reads `[defaults]`. +Platform 0.25.0 is the openkal 0.25 family: openkal 0.25.0 (a second name for a +file, `kal_fs_hard_link`; the requests to end counted), openkal-linux 0.26.0, +openkal-macos 0.23.0, openkal-windows 0.21.0, openkal-musl 0.29.0, which finds a +program by the search rules of the system `kal_env_system` names and implements +`link` over `kal_fs_hard_link`, openkal-llvm-runtime 0.20.0 above it, and +openkal-image 0.5.5, built against the same family. The platform requires mcpp +2026.11.9.1, as 0.24.5 does. + 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 6bd5dbd..90d7640 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -12,12 +12,12 @@ [package] namespace = "mcpplibs" name = "openkal-platform" -version = "0.24.5" +version = "0.25.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"] repo = "https://github.com/mcpplibs/openkal-platform" -# 2026.11.9.1: openkal-run 0.5.4 states its openkal implementation as a +# 2026.11.9.1: openkal-run (from 0.5.4) states its openkal implementation as a # capability with a default per system (`[defaults]`). mcpp = ">=2026.11.9.1" @@ -30,7 +30,7 @@ toolchain = "llvm@23.1.3" runner = { cmd = ["okrun", "{}"], host = "same-arch", hosts = ["linux-x86_64", "linux-aarch64", "macos-aarch64", "windows-x86_64"] } # `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.5.4", section = ".oke", main = "carrier/main.cpp" } +carrier = { package = "openkal-run@0.5.5", section = ".oke", main = "carrier/main.cpp" } # The `okb` package format (`mcpp pack --pkg-format okb`): the images of every # architecture as one file okrun runs (openkal-image docs/okb.md). plugin = "build.mcpp" @@ -42,18 +42,18 @@ debuggee = ["okrun", "--debugger", "{}"] # The C library and the C++ run-time inside an image. A package of the graph # that provides a layer takes its place (`provides`), and `false` leaves it out. [platform.layers] -compiler-runtime = "openkal-llvm-runtime@0.19.2" -"c++-abi" = "openkal-llvm-runtime@0.19.2" -c-abi = { name = "openkal-musl", version = "0.28.1", default-features = false, features = ["posix", "malloc-mimalloc"] } +compiler-runtime = "openkal-llvm-runtime@0.20.0" +"c++-abi" = "openkal-llvm-runtime@0.20.0" +c-abi = { name = "openkal-musl", version = "0.29.0", default-features = false, features = ["posix", "malloc-mimalloc"] } # Built for the building machine: `okld` writes and checks the notes, `okrun` # runs an image, `okprof` reads what a measured run recorded (0.23.0: the # order of a start's first executions, which a producer lays its code out by # and writes as the touch note). [platform.tools] -okld = "openkal-tools@0.5.4" -okrun = "openkal-tools@0.5.4" -okprof = "openkal-tools@0.5.4" +okld = "openkal-tools@0.5.5" +okrun = "openkal-tools@0.5.5" +okprof = "openkal-tools@0.5.5" # Every unit of an image (SPEC 12.2): # -fPIC the image is ET_DYN and has no text relocation; @@ -164,9 +164,9 @@ targets = ["x86_64-linux-gnu", "aarch64-linux-gnu", "x86_64-linux-musl", "aarc toolchain = "llvm@23.1.3" [platform.hosted.layers] -compiler-runtime = "openkal-llvm-runtime@0.19.2" -"c++-abi" = "openkal-llvm-runtime@0.19.2" -c-abi = { name = "openkal-musl", version = "0.28.1", default-features = false, features = ["posix", "malloc-mimalloc"] } +compiler-runtime = "openkal-llvm-runtime@0.20.0" +"c++-abi" = "openkal-llvm-runtime@0.20.0" +c-abi = { name = "openkal-musl", version = "0.29.0", default-features = false, features = ["posix", "malloc-mimalloc"] } # The family released together for openkal 0.17 (the 0.17.2 round: okb, the # runner's bundle and library interfaces, musl's renameat2; the 0.17.3 round: @@ -202,27 +202,31 @@ c-abi = { name = "openkal-musl", version = "0.28.1", default-features # thread's stack for an image's main thread on Windows; 0.24.4: openkal-image # 0.5.3 enters an image in its convention's floating-point state; 0.24.5: # openkal-image 0.5.4, whose runner's openkal implementation is a capability -# with a default per system, and which mcpp 2026.11.9.1 resolves): +# with a default per system, and which mcpp 2026.11.9.1 resolves; 0.25.0, openkal +# 0.25: a second name for a file and the requests to end counted, with +# openkal-linux 0.26.0, openkal-macos 0.23.0, openkal-windows 0.21.0, +# openkal-musl 0.29.0 (a program found by the system's own search rules, link +# over kal_fs_hard_link), openkal-llvm-runtime 0.20.0 and openkal-image 0.5.5): # one version of each in a build. From 0.24.1 the members name one another by # compatible ranges (`^0.28.0`) and this group chooses the versions: mcpp # 2026.11.7.1 resolves within it, and a fix of one member is that member's # release and a patch of this group, released together through one index change # (tools/family_release.py, .github/workflows/family-release.yml). [platform.versions] -openkal = "0.24.0" -openkal-linux = "0.25.0" -openkal-macos = "0.22.1" -openkal-windows = "0.20.0" -openkal-musl = "0.28.1" -openkal-llvm-runtime = "0.19.2" -openkal-ld = "0.5.4" -openkal-run = "0.5.4" -openkal-tools = "0.5.4" +openkal = "0.25.0" +openkal-linux = "0.26.0" +openkal-macos = "0.23.0" +openkal-windows = "0.21.0" +openkal-musl = "0.29.0" +openkal-llvm-runtime = "0.20.0" +openkal-ld = "0.5.5" +openkal-run = "0.5.5" +openkal-tools = "0.5.5" # The plugin's tool, `okld bundle`, which writes the okb, and its library, the # provider of a package format (mcpp.plugins.platform). [build-dependencies] -openkal-tools = { version = "0.5.4", tools = ["okld"] } +openkal-tools = { version = "0.5.5", tools = ["okld"] } [build-dependencies.mcpp] plugins = { version = "0.20.0", features = ["plugins-platform"], host-module = true }