0.13.0 — follow openkal-musl 0.17.0, and correct the floor this names - #26
Merged
Merged
Conversation
openkal-musl 0.17.0 is a manifest-only release: it declares what the library does not supply (`[c-abi-absent]`, 24 rows, asserted against the archive by its own CI) and moves its implementation pins to openkal-linux 0.15.0 and openkal-windows 0.10.0. No source changed, so following it is a pin move. THE ENGINE FLOOR IN THE README WAS WRONG, AND WRONG IN THE DIRECTION THAT MATTERS. It named 2026.9.18.3 and credited that release with stripping host macros (`-U_WIN32`, `-U_WIN64`, the MinGW pair) on Windows hosts before reading the predefines that back the `[c-abi]` declaration. The strip existed and it protected nothing: on a freestanding target there was no `--target=` substitution in the probe's argv for it to compensate for, and removing the host's predefines removed the one piece of evidence that would have said so. 2026.9.18.3's probe ran with no target selection at all on every freestanding build, so the compiler answered for the machine it was running on. 2026.9.20.1 assembles that command line in one place that refuses to omit the target, so the README now names it. CI's `MCPP_VERSION` still pins 2026.9.18.3 and moves with that release --- leaving it here would keep this package validated by an engine its own README says misbuilds it on freestanding, and green, because the misbuild is the silent kind.
The README here says the floor is mcpp 2026.9.20.1, because that is the first release whose verification probe refuses to run without a target selection --- below it, a freestanding cross-build's probe answered for the machine it ran on. Leaving CI on 2026.9.18.3 would validate this package with an engine its own README says misbuilds it on freestanding, and the run would be green, because that misbuild is the silent kind. 2026.9.20.1 is released and in the index, so the pin moves with it. The openkal-musl pin moves to 0.18.0 in the same change: 0.17.0 was the version this branch was opened against, and 0.18.0 followed openkal-macos 0.12.0 so that a consumer's `requires-interfaces` is answered on macOS too. Pinning 0.17.0 here would publish a manifest naming a version CI did not test, since `tools/branch-graph.sh` resolves the sibling to its default branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The pin move
openkal-musl 0.17.0 is a manifest-only release — it declares what the library does not supply (
[c-abi-absent], 24 rows, asserted against the built archive by its own CI) and moves its implementation pins to openkal-linux 0.15.0 and openkal-windows 0.10.0. No source changed, so following it is a pin move:openkal-musl = "0.17.0", this package to0.13.0.The floor this README names was wrong
It said mcpp 2026.9.18.3, and credited that release with stripping host macros (
-U_WIN32,-U_WIN64,-U__MINGW32__,-U__MINGW64__) on Windows hosts before reading the predefines that back the[c-abi]declaration.The strip was real and it protected nothing. On a freestanding target there was no
--target=substitution in the probe's argv for it to compensate for — 2026.9.18.3's probe ran with no target selection at all on every freestanding build, so the compiler answered for the machine it was running on. Deleting the host's predefines deleted the one piece of evidence that would have said so: a measurement that removes its own disagreement reports an agreement it never established.mcpp 2026.9.20.1 assembles that command line in one place that refuses to omit the target (
cenv_probe::assemble_argv), so the README now names that release and says what the old note got wrong rather than quietly replacing it.Still to do on this branch
MCPP_VERSIONin CI stays at 2026.9.18.3 until 2026.9.20.1 is released, then moves with it before this merges. Leaving it would keep this package validated by an engine its own README says misbuilds it on freestanding — and green, because that misbuild is the silent kind.CI resolves the ecosystem from working trees (
tools/branch-graph.sh), so openkal-musl here ismain, which is 0.17.0.