2026.9.29.4: a program shipped through artifacts links with its own closure's line, and ${mcpp.bin_dir} is the declaring member's product directory, in a workspace plan - #741
Merged
Conversation
…losure's line in a workspace plan The validation project's post-release build of 2026.9.29.3 stopped at the link of obj/gpp_updater/Updater.exe with undefined references to Qt and bit7z symbols: the libraries are stated by the updater package's build program, and the program was linked with the plan's line, which pools the dependencies' link flags and not a member's. - In a workspace plan each program shipped through artifacts has a link group of its own closure (LinkGroup::linkOnly): the closure's link line and runtime contract, and no placement, since the members that ship the program place it and its runtime files. - e2e 838 states it with a library the helper's build program links (mcpp::link_lib); it fails on 2026.9.29.3 with "undefined reference" at obj/helper/helper and passes here. - Version 2026.9.29.4; design document section 17.1.
…res is that member's product directory
The validation project's cross-verification against this pull request stopped
at mcpp pack: its build script stages ${mcpp.bin_dir}/<target>.pdb, and the
placeholder expanded to the plan's bin/, where a member's binaries are not.
e2e 838 A4 states it; docs/30 (both languages) state the expansion.
Sunrisepeak
added a commit
to mcpplibs/mcpp-index
that referenced
this pull request
Sep 29, 2026
…9.29.4 (#489) 2026.9.29.4 (mcpp-community/mcpp#741) links a program a workspace member ships through artifacts with its own closure's line and expands ${mcpp.bin_dir} in an action a member's build program declares to that member's product directory. It changes no descriptor grammar; min_mcpp is unchanged. The full sweep with 2026.9.29.4 (run 36548558591) passed on every platform.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The validation project's post-release build of 2026.9.29.3 stopped at the link
of obj/gpp_updater/Updater.exe with undefined references to Qt and bit7z
symbols: the libraries are stated by the updater package's build program, and
the program was linked with the plan's line, which pools the dependencies'
link flags and not a member's.
of its own closure (LinkGroup::linkOnly): the closure's link line and runtime
contract, and no placement, since the members that ship the program place it
and its runtime files.
(mcpp::link_lib); it fails on 2026.9.29.3 with "undefined reference" at
obj/helper/helper and passes here.
Refs #734.
mcpp pack: its build script stages ${mcpp.bin_dir}/.pdb.