checkpoint: P5.8 partial — m3te + distribution validated with the new build pipeline
This commit is contained in:
@@ -431,6 +431,22 @@ when reached (sentinels or accessor fns; see the design doc Risks).
|
||||
`List` growth; orthogonal, see `current/CHECKPOINT-METATYPE.md`.)
|
||||
|
||||
## Log
|
||||
- **P5.8 (partial) — real-project validation: m3te + distribution build with the new pipeline (2026-06-19).**
|
||||
Acceptance test for the sx-driven build pipeline. **m3te** (`~/projects/m3te`, an SDL3 match-3 game): migrated
|
||||
its `build.sx` off the deleted API — `configure_build :: ()` → `() abi(.compiler)`, `opts.set_post_link_callback(
|
||||
bundle_main)` → `on_build(bundle_main)` (the ONLY source change needed). Then `sx build main.sx` produces a valid
|
||||
SIGNED macOS `.app` (correct `Contents/{MacOS,Resources}` layout, `Resources/assets/` bundled, links Homebrew
|
||||
SDL3, passes `codesign`); `sx build --target ios-sim main.sx` produces the flat iOS `.app` (DTPlatformName=
|
||||
iPhoneSimulator; system-framework "not embedded" warnings are expected/benign). So BOTH the macOS and iOS-sim
|
||||
bundle paths validate end-to-end on real project code. **distribution** (`~/projects/distribution`, a
|
||||
server/CLI+sqlite project, NO bundling): `make build` clean (smoke + dist binaries via `default_pipeline`'s
|
||||
emit+link with C objects + vendored sqlite); `make test` 24/25 (the 1 fail, `publish_happy.sx`, is a PRE-EXISTING
|
||||
stale `#foreign` parse error — that keyword is gone from the parser; unrelated to the pipeline/this session).
|
||||
**m3te's `build.sx` edit is in its working tree, uncommitted (the user's repo) — reported, not committed.**
|
||||
> **REMAINING P5.8:** iOS-device + Android paths still unvalidated on this host (no device identity round-trip /
|
||||
> Android SDK); add `.app`/`.apk` bundle SMOKE TESTS to the corpus (needs corpus-runner support — a `.build`
|
||||
> directive for a bundle dir + structure assertion + cleanup; deferred as its own focused step). m3te is now a
|
||||
> repeatable real-project acceptance test in the meantime.
|
||||
- **P5.6 (macOS path) — `default_pipeline` drives bundling; fix issue 0125 (2026-06-19).** `build.sx` now
|
||||
`#import`s `platform/bundle.sx` and `default_pipeline` delegates to `bundle_main` when `bundle_path()` is set
|
||||
(emit+link via the shared `emit_and_link` core, then wrap the `.app`/`.apk`); else just emit+link. **Removed the
|
||||
|
||||
Reference in New Issue
Block a user