You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: the engine gaps left open after the SDK batch (2026.9.12.2)
Implements .agents/docs/2026-09-12-engine-gaps-after-the-sdk-batch.md (M1-M9).
- #618: `[targets.<name>] windows_subsystem` and `windows_entry`, rendered per
ABI onto the declaring executable's own link (`/SUBSYSTEM:` with the CRT
`/ENTRY:` symbol on MSVC, `-mwindows`/`-municode` on GNU), inert off PE, and
refused on library targets. Build-program protocol 10 adds the
`windows-subsystem` and `windows-entry` directives for a named target.
- T1: the fast path compares the toolchain request (`--toolchain`,
`MCPP_TOOLCHAIN`, and `[toolchain] default`); a build asking for another
toolchain no longer replays the previous one.
- #615: `runtime.deploy = [{ from, to }]` places runtime files in a directory
relative to the executable, in mcpp.toml and in descriptors, and `mcpp pack`
carries both `deploy_files` and `deploy` at the same relative paths.
- `[target.<selector>.abi] threads` as a typed graph-wide switch, with
`requires_abi` on a package or feature refused before compilation when the
root does not state it.
- #613: a dependency's install hook receives MCPP_COMPILER, MCPP_CXX_STDLIB and
the target names, computed by the function the build-program environment
uses; docs state the `mcpp:c++-abi` recipe for source-built static packages.
- #614: one function decides an xlings invocation's environment, the Windows
project scope is restored after each invocation, and xlings' own error lines
follow a failed install.
- #609 and G1: a documented toolchain hazard, and the refusal that names
`[target.<selector>.xlings.workspace]`, with examples/13 using it.
Copy file name to clipboardExpand all lines: .agents/docs/2026-09-12-engine-gaps-after-the-sdk-batch.md
+77-15Lines changed: 77 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,15 @@
1
1
---
2
2
subject: triage
3
-
status: active
3
+
status: landed
4
4
---
5
5
6
6
# The engine gaps left open after the SDK batch
7
7
8
-
**Status:** reviewed 2026-09-12. The four questions in the first draft were
9
-
answered, and the answers are recorded in §9. Three statements in the first
10
-
draft were then measured and corrected: two recorded gaps already have an
11
-
existing mechanism (§2, §5.2), and a new defect was found (§7). The
12
-
implementation is one mcpp PR carrying the next date version. 2026.9.12.1 (#617)
13
-
is merged and unreleased, so its change ships with that PR.
8
+
**Status:** landed in mcpp 2026.9.12.2. The four questions in the first draft
9
+
were answered in review (§9), and three statements were measured and corrected
10
+
before implementation (§2, §5.2, §7). The corrections made during
11
+
implementation are recorded in §11. The ecosystem changes E1 and E2 follow the
12
+
release (§10).
14
13
15
14
## 0. Scope, and the ledger it starts from
16
15
@@ -108,15 +107,15 @@ console program may define `wmain`.
108
107
109
108
| target |`windows_subsystem = "windows"` renders | decided by |
110
109
|---|---|---|
111
-
| PE, MSVC style: cl, clang-cl, clang targeting `*-windows-msvc`|`/SUBSYSTEM:WINDOWS` plus the entry's `/ENTRY:` symbol, spelled with `-Wl,` under a GNU-style driver |`plan.rcStyle == "msvc"`|
112
-
| PE, GNU style: MinGW gcc, clang targeting `*-windows-gnu`|`-mwindows`, plus `-municode` for a wide entry |`plan.rcStyle == "gnu"`|
110
+
| PE, MSVC style: cl, clang-cl, clang targeting `*-windows-msvc`|`/SUBSYSTEM:WINDOWS` plus the entry's `/ENTRY:` symbol, spelled with `-Wl,` under a GNU-style driver |`pe_msvc_abi` (§11.1)|
111
+
| PE, GNU style: MinGW gcc, clang targeting `*-windows-gnu`|`-mwindows`, plus `-municode` for a wide entry |`pe_msvc_abi` (§11.1)|
0 commit comments