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
{{ message }}
Repository navigation
Commit 85c9037
Browse filesBrowse the repository at this point in the historyBrowse files
#712 An `[xlings]` address resolves the payload xlings selected. A new
module, mcpp.xpkg_version, ports xlings' version grammar (N segments,
alpha segments, written-prefix equality for three or more segments,
prefix ranges for one or two, operator ranges), and xpkg_payload_at
selects among installed directories with it. `libglvnd@1.7` finds
1.7.0.1.
#716 A provisioning stamp counts only while every address still resolves
to a payload. A removed payload is re-provisioned online and refused
offline, naming it. The build cache records the payload directories a
build read, so the fast path declines when one is gone. xlings reports
what each request resolved to (install_targets, protocol 1.1); mcpp
records that per address and answers from the record first.
#705 A host tool's tree stamp skips directories that hold their own
mcpp.toml, and hashes paths as UTF-8.
#710 The requesting build decides a host tool's toolchain once --
`--toolchain`, else the tool package's own (its workspace's, for a
member), else the requesting build's host toolchain -- passes it to the
sub-build as an override, and records it in the store key. A member built
as a tool inherits the workspace root's root-position keys.
#713 A member inherits the workspace root's `[xlings.workspace]`
entries, conditional rows included; its own declaration of a package
wins.
#714 An unresolved `x.workspace = true` is refused at every position,
naming the entry. `[build] sources = []` infers no library target. A
rooted workspace resolves its own `workspace = true` entries.
#715 A rule reaches a package's synthesised build program only through a
device source whose extension it declared.
#704 A host build applies its own `[target.<host-triple>]` row
(toolchain, linkage, cxx_runtime), as `--target <host>` did.
#707 `emit build-database` builds no host tool; one missing from the
store is deferred with the note MCPP_BUILD_DATABASE_HOST_TOOL_DEFERRED
(SPEC-005 v1.4 R2.5).
#708 `mcpp::action::env(name, value)` and `cwd(dir)` (protocol 13),
applied by the engine's action wrapper in its named form `__action`. An
action with neither keeps the `__action-stamp` command line byte for
byte.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MajuX4J8ewFeWvZJjzRJt5
Copy file name to clipboardExpand all lines: docs/50-machine-output.md
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -489,20 +489,21 @@ program's directives: the manifest's own configuration, the toolchain, the
489
489
module graph and the standard-library units are described as usual, and one
490
490
`error` diagnostic, `MCPP_BUILD_DATABASE_PROGRAM_FAILED`, names it, with
491
491
`path` naming its `build.mcpp`. A later failure that follows from the missing
492
-
directives fails the whole member instead, under the rule above. A host tool
493
-
a package requested that fails to build is a warning instead,
494
-
`MCPP_BUILD_DATABASE_HOST_TOOL_UNBUILT`, naming the tool, its package and the
495
-
first line of the failure; planning continues, and a build program that only
496
-
names the tool configures as it would after a successful build. `mcpp build`
497
-
is unaffected by either: a build program or a host tool that fails there
498
-
still fails the build.
492
+
directives fails the whole member instead, under the rule above. The command
493
+
builds no host tool (mcpp 2026.9.27.1+): a requested tool already in the
494
+
global tool store is used, and one that is not is deferred, reported as the
495
+
note `MCPP_BUILD_DATABASE_HOST_TOOL_DEFERRED` naming the tool and its package.
496
+
The build program that requested it receives the path the tool will be
497
+
published at, and configures as it would after the tool was built. `mcpp build`
498
+
is unaffected: it builds the tool, and a build program or a host tool that
499
+
fails there still fails the build.
499
500
500
501
| code | severity ||
501
502
|---|---|---|
502
503
|`MCPP_LOCK_WOULD_CHANGE`| warning | the resolution differs from the project's `mcpp.lock`, which the command does not write |
503
504
|`MCPP_GENERATED_FILE_NOT_MATERIALIZED`| warning | a root `[build] generated_files` entry is missing or stale on disk, and the command does not write it |
504
505
|`MCPP_BUILD_DATABASE_STD_UNIT_UNDESCRIBED`| warning | no standard-library build command names its module source, so that unit is not listed |
505
-
|`MCPP_BUILD_DATABASE_HOST_TOOL_UNBUILT`|warning| a requested host tool failed to build; the tool is still built and its `check` actions still run|
506
+
|`MCPP_BUILD_DATABASE_HOST_TOOL_DEFERRED`|note| a requested host tool is not in the tool store and is not built by the command; the plan names the path it will be published at (2026.9.27.1+; replaces the 2026.9.26.2 warning `MCPP_BUILD_DATABASE_HOST_TOOL_UNBUILT`)|
506
507
|`MCPP_BUILD_DATABASE_PROGRAM_FAILED`| error | a build program failed; its package is described without its directives |
0 commit comments