Skip to content

Commit bcbf1a7

Browse files
committed
e2e 304, 661, 666 on macOS; the builtins package is 22.1.8.4
1 parent 609629f commit bcbf1a7

9 files changed

Lines changed: 21 additions & 14 deletions

.agents/docs/2026-09-13-630-what-a-framework-still-hits-in-the-engine.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ application inherits it through the ordinary dependency edge:
416416
```toml
417417
[target.'cfg(os = "ios")'.dependencies]
418418
llvm.libcxx = "22.1.8.1"
419-
llvm.compiler-rt-builtins = "22.1.8.3"
419+
llvm.compiler-rt-builtins = "22.1.8.4"
420420
```
421421

422422
An application without a framework writes the same three lines. The two
@@ -552,7 +552,7 @@ the engine's part is measured first:
552552
| `llvm.libcxx` 22.1.8.1: libc++ and libc++abi sources at `llvmorg-22.1.8`, generated configuration and module sources, manifest, examples, CI on Linux and on the iOS simulator | new repository `mcpplibs/libcxx` | one package |
553553
| index entry, GitHub and GitCode release assets | `mcpp-index`, `mcpp-res` | one PR, one release |
554554
| `cxxFromGraph` at the four sites, `-femulated-tls` narrowed, the older and current capability spellings, the SDK-header fallback, the builtins refusal, tests | mcpp | part of the batch PR |
555-
| the Apple source selection (22.1.8.3) | `mcpplibs/compiler-rt-builtins` | one PR, one release, one index entry |
555+
| the Apple source selection (22.1.8.4) | `mcpplibs/compiler-rt-builtins` | one PR, one release, one index entry |
556556
| `docs/20` iOS rows and `docs/22`; the 2026-09-11 record's table gains a superseded note pointing here | mcpp docs | text |
557557

558558
The order between the repositories is the one every package-plus-engine
@@ -818,11 +818,11 @@ that none is left half done when its neighbour ships.
818818
| T5 | `needed_names` for Mach-O (thin and fat), `@rpath` resolution, Mach-O row of `is_system_lib`; unit tests with checked-in Mach-O fixtures; the macOS e2e | mcpp | T4 | §4.3 |
819819
| T6 | tool store: `git` keyed by commit, `path` never a hit; `upstreamKeys` per source kind; e2e in both directions with `examples/12` | mcpp | - | §7.3 |
820820
| T7 | `llvm.libcxx` 22.1.8.1: repository, sources at `llvmorg-22.1.8`, generated configuration and module sources, manifest, examples, CI (Linux with `llvm@22.1.8`; macOS runner for `aarch64-ios-sim`) | `mcpplibs/libcxx` (new) | - | §5.4 |
821-
| T7b | `llvm.compiler-rt-builtins` 22.1.8.3: the Apple source selection under `cfg(os = "ios")` and `cfg(os = "macos")`; CI on a macOS runner | `mcpplibs/compiler-rt-builtins` | - | §5.4 |
821+
| T7b | `llvm.compiler-rt-builtins` 22.1.8.4: the Apple source selection under `cfg(os = "ios")` and `cfg(os = "macos")`; CI on a macOS runner | `mcpplibs/compiler-rt-builtins` | - | §5.4 |
822822
| T8 | engine: `cxxFromGraph` at the four sites; `-femulated-tls` narrowed; both capability spellings; SDK-header fallback and the std-module diagnostic; the unsupplied compiler-runtime degradation; Linux e2e with T7 by `git`; iOS CI fixture declares T7 and T7b | mcpp | T7, T7b | §5.4 |
823823
| T9 | route by artifact form: an `app` whose artifact is a shared object takes the library route's several triples; `lib/<abi>/` staging; e2e on the Android rows | mcpp | - | §9 |
824824
| T10 | docs: `docs/05` (T3), `docs/20` and `docs/22` iOS rows (T8), `docs/30` stage manifest field (T4), zh mirrors; the 2026-09-11 record's superseded note | mcpp | T3, T4, T8 | structure and parity checks |
825-
| T11 | `mcpp-index`: `llvm.libcxx` entry and the `llvm.compiler-rt-builtins` 22.1.8.3 entry (GitHub and GitCode assets); `mcpp-res` releases | `mcpp-index`, `mcpp-res` | T7, T7b | index `latest` names them; sandbox install |
825+
| T11 | `mcpp-index`: `llvm.libcxx` entry and the `llvm.compiler-rt-builtins` 22.1.8.4 entry (GitHub and GitCode assets); `mcpp-res` releases | `mcpp-index`, `mcpp-res` | T7, T7b | index `latest` names them; sandbox install |
826826
| T12 | `mcpp:plugins`: `dist-apple` places the staged tree's deployed files at the bundle's resource destination | `mcpp-plugins` | T4 released | the `.app` carries the deployed file |
827827
| T13 | release mcpp; bump the workspace pin; GitCode assets by `gtc`; index bump PR | mcpp, `mcpp-index` | T1-T10 merged, CI green | `origin/main` HEAD run green; sandbox `mcpp --version` |
828828
| T14 | sandbox verification with `xlings subos … --sandbox --cmd`, CN mirror configured for both tools: T3 warning, T6 rebuild, T8 Linux program, T2 descriptor, T1 silence | sandbox | T11, T13 | one ok/FAILED line per claim |
@@ -835,7 +835,7 @@ release; T13 to T15 are sequential.
835835
**Progress (2026-09-13, evening).** T1 to T8 and T10 are on the batch branch
836836
(mcpp-community/mcpp#631). T7 is published (`mcpplibs/libcxx`, tag
837837
22.1.8.1; GitCode mirror byte-identical). T7b is merged and tagged
838-
(mcpplibs/compiler-rt-builtins#1, 22.1.8.3). T11 is merged and published
838+
(mcpplibs/compiler-rt-builtins#1, 22.1.8.4). T11 is merged and published
839839
(mcpplibs/mcpp-index#408; a program resolving `llvm.libcxx = "22.1.8.1"`
840840
from the index built and ran on Linux). T12 is prepared on a plugins
841841
branch and waits for the release pin. T9, T13, T14 and T15 follow.

.github/workflows/ci-macos-ios.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ jobs:
205205
# carries them.
206206
[target.'cfg(os = "ios")'.dependencies]
207207
llvm.libcxx = { git = "https://github.com/mcpplibs/libcxx.git", tag = "22.1.8.1" }
208-
llvm.compiler-rt-builtins = { git = "https://github.com/mcpplibs/compiler-rt-builtins.git", tag = "22.1.8.3" }
208+
llvm.compiler-rt-builtins = { git = "https://github.com/mcpplibs/compiler-rt-builtins.git", tag = "22.1.8.4" }
209209
210210
# THE RUNNER IS AN ARGV PREFIX AND THE SESSION BELONGS TO A
211211
# PACKAGE. `simctl-run` comes from `xim:apple-simulator-tools`; it

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ libc++ 是否适用」,在 openkal 与原生构建重合,在 iOS 行(SDK 的 C
3232
libc++)分开:引擎把 libc++ 22 的头配到 SDK 的 libc++ 19 上,程序在
3333
`__hash_memory` 处链接失败。现改读 `plan.targetSide.cxx.fromGraph()`;iOS 行的
3434
C++ 运行时与编译器运行时成为图里的源码包(`llvm.libcxx@22.1.8.1`、
35-
`llvm.compiler-rt-builtins@22.1.8.3`,与 `openkal-llvm-runtime` 同一机制,框架
35+
`llvm.compiler-rt-builtins@22.1.8.4`,与 `openkal-llvm-runtime` 同一机制,框架
3636
声明一次、应用继承)。不声明时:不导入 `std` 的程序取 SDK 的头;导入的保留昨天
3737
的搭配并由 prepare 报告一次(`target/cxx-runtime`)点名两行;载荷没有该平台的
3838
builtins 归档时报告一次(`target/compiler-runtime`),从不去 Xcode 里找。

docs/20-toolchains.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,7 @@ the C library and the builtins do on the bare-metal rows:
681681
```toml
682682
[target.'cfg(os = "ios")'.dependencies]
683683
llvm.libcxx = "22.1.8.1" # libc++ and libc++abi as source, with the std module
684-
llvm.compiler-rt-builtins = "22.1.8.3" # __isPlatformVersionAtLeast and the generic routines
684+
llvm.compiler-rt-builtins = "22.1.8.4" # __isPlatformVersionAtLeast and the generic routines
685685
```
686686

687687
A framework declares the two lines once and every application inherits them.

docs/zh/20-toolchains.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ C 库和 builtins 同一做法:
615615
```toml
616616
[target.'cfg(os = "ios")'.dependencies]
617617
llvm.libcxx = "22.1.8.1" # libc++ 与 libc++abi 的源码,带 std 模块
618-
llvm.compiler-rt-builtins = "22.1.8.3" # __isPlatformVersionAtLeast 与通用例程
618+
llvm.compiler-rt-builtins = "22.1.8.4" # __isPlatformVersionAtLeast 与通用例程
619619
```
620620

621621
框架声明一次,每个应用通过依赖边继承。报告把两层都记为图里的,链接行带 `-nostdlib++`,

src/build/prepare.cppm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10824,7 +10824,7 @@ prepare_build(bool print_fingerprint,
1082410824
"its headers, its module and its objects as one release: "
1082510825
"[target.'cfg(os = \"ios\")'.dependencies] "
1082610826
"llvm.libcxx = \"22.1.8.1\" (and "
10827-
"llvm.compiler-rt-builtins = \"22.1.8.3\" beside it)");
10827+
"llvm.compiler-rt-builtins = \"22.1.8.4\" beside it)");
1082810828
}
1082910829
}
1083010830

tests/e2e/304_the_target_side_reaches_every_unit.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,16 @@ version = "0.1.0"
8686
abiprov = { path = "abi" }
8787
sibling = { path = "dep" }
8888
EOF
89+
# THE C HEADER, NOT THE C++ ONE. `abiprov` declares itself the C++ layer, and
90+
# a package that answers for that layer answers for its headers: the payload's
91+
# libc++ directories are withheld from every unit (#630, item 4). This stub
92+
# ships no standard library, so the probe uses the C library's `<stdio.h>`,
93+
# which the payload or the SDK still supplies, rather than `<cstdio>`.
8994
cat > src/main.cpp <<'EOF'
90-
#include <cstdio>
95+
#include <stdio.h>
9196
import abiprov;
9297
import sibling;
93-
int main() { std::printf("%d\n", abiprov_v() + sibling_v()); }
98+
int main() { printf("%d\n", abiprov_v() + sibling_v()); }
9499
EOF
95100

96101
"$MCPP" build >/dev/null 2>&1 || {

tests/e2e/661_one_identity_two_declarations.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,10 @@ echo "ok: case 3 -- with no root opinion, the first-dequeued declaration wins fo
270270
# this is refused exactly as a KIND clash always was, plus the new hint.
271271
# ═══════════════════════════════════════════════════════════════════════
272272
C4="$TMP/case4"
273+
FW_V020_HOST="$(host_path "$FW_V020")"
273274
make_lib "$C4/libd" "libd" "$(cat <<EOF
274275
[dependencies.framework]
275-
path = "$(host_path "$FW_V020")"
276+
path = "$FW_V020_HOST"
276277
EOF
277278
)"
278279
make_lib "$C4/libe" "libe" "$(cat <<EOF
@@ -370,7 +371,7 @@ main = "src/main.cpp"
370371
default = { path = "$INDEX_DIR_HOST" }
371372
372373
[dependencies.framework]
373-
path = "$(host_path "$FW_V020")"
374+
path = "$FW_V020_HOST"
374375
375376
[dependencies.libv]
376377
path = "../libv"

tests/e2e/666_a_macho_program_is_staged_without_its_closure.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ stage="$1"; manifest="$2"; out="$3"
3636
EOF
3737
chmod +x dist.sh
3838
cat > build.mcpp <<'EOF'
39+
import std;
3940
import mcpp;
4041
int main() {
4142
mcpp::provides_pack_format("zap");

0 commit comments

Comments
 (0)