Commit c3cb6ee
committed
feat(toolchain): a spec that names a payload has answered which payload, and the iOS rows are written down
NEITHER `mcpp toolchain install emsdk` NOR `mcpp toolchain install android-ndk`
HAD EVER WORKED, and openkal-emscripten's continuous integration is what found
it:
$ mcpp toolchain install emsdk 6.0.9
error: installed package has no known C++ frontend in
'.../xim-x-emsdk/6.0.9/bin'
TWO DEFECTS, ONE PER AXIS.
`to_xim_package` decided the payload from the TARGET. That is right for the
spelling a build uses -- `--target wasm32-emscripten` with nothing declared --
and there is no target at all in an install, so the emsdk spec resolved the
generic llvm shape and looked for `clang++` in `bin/` while `em++` is in
`emscripten/`. `payloadName` is the field `parse_toolchain_spec` fills from the
spelling and is the more direct statement of the two: a spec that names a
payload has answered this question. It decides first; the target remains the
answer for a spec that names no payload, which is the escape-hatch spelling the
capability gate has to be able to refuse.
And the install path composed `<root>/bin` itself. That was one of the five
sites the `frontendSubdir` note in mcpp.toolchain.registry records; four were
repaired and this one was not. It now asks `payload_frontend`, which is the
same function the build path asks -- so the two cannot disagree, and the
install picks up the payload's descriptor for free.
AND THE FIXTURE OF THE TEST THAT COVERS THIS AXIS HAD PICKED ITS OBJECT BY
CONVENIENCE. `TheTargetChoosesThePackageAndThePackageKnowsItsLayout` built
every case from `emsdk@6.0.9` and replaced only the target, which worked while
the target was the only thing read. It now builds them from `llvm@22.1.8`,
which names the family and no payload -- the shape whose resolution that test
exists to state.
D5. THE iOS ROWS ARE WRITTEN DOWN, in docs/20 and its Chinese copy: the
compiler is ours and only the SDK is Apple's, the two host dependencies this
platform adds are named and bounded, the deployment target travels in the
effective triple alone, and the simulator is two rows because it runs the
host's architecture.
`examples/13-platform-targets` gains the iOS rows with measured readings --
`platform 2` for the device and `platform 7` for the simulator, which is the
one pair a successful build cannot tell apart -- and records two limitations it
ran into rather than working around them: `deps` is not conditional on a
target, and `xim:apple-simulator-tools` exists for macosx alone, so declaring
the runner's package in the manifest would make this example's Linux build
depend on a macOS-only package. The program is installed by whoever runs those
rows.
E4c. `docs/24-openkal-cross` and its Chinese copy stop saying the Web needs an
implementation and name `openkal-emscripten`, with the three-group table that
makes a partial surface a conformant one. The iOS section stops being a
structural argument: what the SDK's licence bounds is packaging it, not
locating it, and `aarch64-macos` has been verified on exactly that split since
before these rows existed.
e2e 641 gains the iOS claims that a non-Apple host can make: the rows name
their payload, and the SDK's absence is a refusal that names the SDK, the
`xcrun` command, the Command-Line-Tools note and the compiler -- arriving
before any payload is resolved. The effective-triple claim is a unit test
instead, because that same gate means a host without Xcode never prints the
line an end-to-end check would read.
AND THE macOS LEG NOW RUNS THE ARTEFACT THROUGH THE SUPPORTED PATH. The
earlier leg spawned it by hand, which proves the platform can run it and not
that mcpp can; `mcpp run --target aarch64-ios-sim` goes through the `runner`
the manifest declares and the program `xim:apple-simulator-tools` provides.1 parent 564e0dd commit c3cb6ee
12 files changed
Lines changed: 778 additions & 64 deletions
File tree
- .github/workflows
- docs
- zh
- examples/13-platform-targets
- src/toolchain
- tests
- e2e
- unit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
263 | 263 | | |
264 | 264 | | |
265 | 265 | | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
266 | 291 | | |
267 | 292 | | |
268 | 293 | | |
| |||
319 | 344 | | |
320 | 345 | | |
321 | 346 | | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
322 | 385 | | |
323 | 386 | | |
324 | 387 | | |
325 | 388 | | |
326 | 389 | | |
327 | 390 | | |
328 | | - | |
329 | | - | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
330 | 407 | | |
331 | 408 | | |
332 | 409 | | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
| 410 | + | |
| 411 | + | |
337 | 412 | | |
338 | | - | |
339 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
595 | 595 | | |
596 | 596 | | |
597 | 597 | | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
598 | 601 | | |
599 | 602 | | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
600 | 697 | | |
601 | 698 | | |
602 | 699 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
240 | 253 | | |
241 | 254 | | |
242 | 255 | | |
243 | 256 | | |
244 | 257 | | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
249 | 286 | | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
254 | 305 | | |
255 | 306 | | |
256 | 307 | | |
| |||
259 | 310 | | |
260 | 311 | | |
261 | 312 | | |
262 | | - | |
| 313 | + | |
263 | 314 | | |
264 | | - | |
| 315 | + | |
265 | 316 | | |
266 | 317 | | |
267 | 318 | | |
| |||
0 commit comments