Merge branch 'claude/issue-41': refuse a build that holds two builds of one module
All checks were successful
Flatpak / flatpak (push) Successful in 12m49s
All checks were successful
Flatpak / flatpak (push) Successful in 12m49s
PR #42, fixes #41. Build() now refuses a configuration whose transitive dependencies hold two configurations exporting a module of the same name, such as one project loaded along two paths with different arg lists, before it builds anything, and names both paths. Until now both builds ended up in the one program, which compiled cleanly and then read garbage. Merged cleanly on top of claude/forward-project-args; the suite, with claude/dependency-notes' fixtures, passes under the new check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
eefd1df3eb
11 changed files with 233 additions and 4 deletions
|
|
@ -286,6 +286,8 @@ extern "C" Configuration CrafterBuildProject(std::span<const std::string_view> a
|
|||
.LinkFlag("-Wl,--export-dynamic").LinkFlag("-ldl");
|
||||
cfg.AddTest("HostToolingSibling").Dependencies({ CrafterBuildLib.get() })
|
||||
.LinkFlag("-Wl,--export-dynamic").LinkFlag("-ldl");
|
||||
cfg.AddTest("DuplicateModule").Dependencies({ CrafterBuildLib.get() })
|
||||
.LinkFlag("-Wl,--export-dynamic").LinkFlag("-ldl");
|
||||
cfg.AddTest("Script").Dependencies({ CrafterBuildLib.get() })
|
||||
.LinkFlag("-Wl,--export-dynamic").LinkFlag("-ldl");
|
||||
cfg.AddTest("DependencyNotes").Dependencies({ CrafterBuildLib.get() })
|
||||
|
|
|
|||
Loading…
Reference in a new issue