[Webkit-unassigned] [Bug 235094] [XCBuild] Add "product dependencies" which influence workspace build order

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 12 10:19:32 PST 2022


https://bugs.webkit.org/show_bug.cgi?id=235094

--- Comment #6 from Elliott Williams <emw at apple.com> ---
(In reply to Alexey Proskuryakov from comment #5)
> Is this a temporary measure before scripts in these targets have
> inputs/outputs defined, or is it necessary even when those are present?

I thought it would always be necessary, but checking my work right now it looks like these dependencies could be elided in the future if we get more precise inputs/outputs.

Script inputs/outputs will influence whether a script runs, and what order it runs relative to other tasks (citation: https://help.apple.com/xcode/mac/11.4/#/devc8c930575). A missing script input will not _cause_ another target to build, meaning script inputs are not inferred as _target dependencies_ the same way linked frameworks or copied products are. But that's okay for us, because the main targets of each project have the necessary target dependency.

For example: JavaScriptCore (the target) links against libWTF.a, which forms a target dependency on WTF. JSC's "Generate Unified Sources" is an explicit target dependency of JavaScriptCore. So when we build JavaScriptCore, both WTF and Generate Unified Sources are in the build graph, and script phase inputs/outputs would be enough to show the relationship between Generate Unified Sources and the headers it uses.

So, while I don't want to commit to deleting all of these product dependencies yet, I think they could be deleted later on to improve performance.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220112/7f5ecdee/attachment.htm>


More information about the webkit-unassigned mailing list