Skip to content

Commit a93d4bf

Browse files
committed
docs: configuration/construction/verification, runtime_search_dir, the prepare role and the stamp rule (mcpp#701, mcpp#702)
docs/30, and zh: a new section states the three kinds of work a build.mcpp or the rules it imports do (SPEC-007 §1) -- configuration depends only on declared inputs, construction is never done while build.mcpp runs, an incomplete environment is a warning, and one behaviour serves planning and building alike. `dep_bin` gains the paragraph on a host tool that fails to build under `emit build-database`: naming it still configures correctly, calling it while configuring does not. The directive tables and the typed API table rename runtime-library-dir/runtime_library_dir to runtime-search-dir/runtime_search_dir and correct what it joins; the worked section is rewritten to match, with the Qt example fixed to pass `lib/` to link_search and `bin/` to runtime_search_dir. The action role table gains `prepare`, spelled with the `mcpp::roles` constants; a new section states its contract (output_dir, the post-condition, the ordering, the R1.3 warning). The stamp-rule paragraph is rewritten for R2's simple form. docs/31, and zh: the role table gains `prepare` and points at docs/30's fuller contract and at SPEC-007. docs/04, and zh §2.11: `runtime_search_dirs` (not the retiring `library_dirs`) is named as the field the build-program form joins.
1 parent 34f4da9 commit a93d4bf

6 files changed

Lines changed: 370 additions & 66 deletions

File tree

‎docs/04-mcpp-toml.md‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1473,10 +1473,13 @@ For one compatibility train, `library_dirs` maps only to runtime search,
14731473
`capabilities` maps to required run-phase capability requirements. None of
14741474
these legacy fields creates a provider.
14751475

1476-
`library_dirs` has a build-program form for a directory only a build.mcpp can
1477-
locate (a vcpkg prefix's `bin/`, a Qt SDK's `bin/`): `mcpp::runtime_library_dir(dir)`
1478-
(2026.9.27.1+, protocol 12; [30 — Build Programs](30-build-mcpp.md)), which
1479-
joins this same field.
1476+
`runtime_search_dirs` has a build-program form for a directory only a
1477+
build.mcpp can locate (a vcpkg prefix's `bin/`, a Qt SDK's `bin/`, a directory
1478+
a `prepare` action populates): `mcpp::runtime_search_dir(dir)` (protocol 12;
1479+
[30 — Build Programs](30-build-mcpp.md)), which joins this same field
1480+
directly — not the legacy `library_dirs` above, which gains no directive of
1481+
its own. The directory need not exist when the program runs; a `prepare`
1482+
action may populate it later, at build time.
14801483

14811484
`target/<triple>/<fp>/resolution.json` schema 2 stores the RuntimeBinding,
14821485
canonical requirements/providers/artifacts, LinkIntent, platform search

0 commit comments

Comments
 (0)