Bug 220239

Summary: WebKit IPC is slow to develop because changing .messages.in or the generator will cause rebuild
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: WebKit2Assignee: Kimmo Kinnunen <kkinnunen>
Status: RESOLVED WONTFIX    
Severity: Normal CC: ap, darin
Priority: P2    
Version: WebKit Local Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 217211    
Attachments:
Description Flags
Patch none

Description Kimmo Kinnunen 2021-01-04 06:01:59 PST
WebKit IPC is slow to develop because changing .messages.in or the generator will cause rebuild.

It will rebuild all the files that depend on the generated content, even if the generated content has not changed.
Comment 1 Kimmo Kinnunen 2021-01-04 06:22:14 PST
Created attachment 416937 [details]
Patch
Comment 2 Alexey Proskuryakov 2021-01-04 09:41:03 PST
Comment on attachment 416937 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=416937&action=review

> Source/WebKit/ChangeLog:8
> +        Write the generated IPC files only if their content has changed.

Does this mean that the generated IPC files will be re-generated every time forever? If timestamps on the generated files are not updated, they will always be considered out of date by the build system.
Comment 3 Kimmo Kinnunen 2021-01-05 00:16:55 PST
(In reply to Alexey Proskuryakov from comment #2)
> > Source/WebKit/ChangeLog:8
> > +        Write the generated IPC files only if their content has changed.
> 
> Does this mean that the generated IPC files will be re-generated every time
> forever? If timestamps on the generated files are not updated, they will
> always be considered out of date by the build system.

Yes, you're right it does. My head was at stamp files.. Yeah, probably does not make sense to fix this with the current build system structure.
Comment 4 Darin Adler 2021-01-05 13:00:58 PST
Comment on attachment 416937 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=416937&action=review

>> Source/WebKit/ChangeLog:8
>> +        Write the generated IPC files only if their content has changed.
> 
> Does this mean that the generated IPC files will be re-generated every time forever? If timestamps on the generated files are not updated, they will always be considered out of date by the build system.

This is a recurring problem/pattern in make files. It’s surprisingly difficult to update files only if they are modified but avoid regenerating them every time we build; but if we could figure out how to do it, it’s the behavior we’d prefer for all generated files!