WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
89125
The whole world rebuilds when you touch any IDL file
https://bugs.webkit.org/show_bug.cgi?id=89125
Summary
The whole world rebuilds when you touch any IDL file
Maciej Stachowiak
Reported
2012-06-14 13:50:12 PDT
The whole world rebuilds when you touch any IDL file
Attachments
Patch
(7.38 KB, patch)
2012-06-14 13:54 PDT
,
Maciej Stachowiak
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Maciej Stachowiak
Comment 1
2012-06-14 13:54:09 PDT
Created
attachment 147644
[details]
Patch
Maciej Stachowiak
Comment 2
2012-06-14 13:57:14 PDT
The introduction of Supplemental support in IDLs a while back resulted in a situation where changing any IDL file would cause every bindings file to be regenerated, even ones whose interfaces are not supplemented. As a result, this would cause nearly a world build of WebCore every time. My attached patch fixes it for build systems that use DerivedSources.make. I do not know how to fix it for other build systems though.
Adam Barth
Comment 3
2012-06-14 14:03:04 PDT
@haraken: I thought you fixed this issue a while back. Did this regress?
Maciej Stachowiak
Comment 4
2012-06-14 14:15:57 PDT
Committed
r120361
: <
http://trac.webkit.org/changeset/120361
>
Kentaro Hara
Comment 5
2012-06-14 17:20:16 PDT
Comment on
attachment 147644
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=147644&action=review
The approach looks reasonable. Thank you very much for fixing this. Would it be possible to make the same change to cmake (UseJSC.cmake, UseV8.pm), qmake (DerivedSources.pri), automake (GNUMakefile.am) and GYP (WebCore.gyp)? Actually the reason why I didn't take your approach (i.e. generate makefile dynamically) was that I was not sure if I can describe the "dynamic dependencies" in other build systems than makefile (I think it would be impossible in GYP). So I had been seeking for another approach that requires static dependencies only (
https://bugs.webkit.org/show_bug.cgi?id=76970
). No good idea for now though:)
> Source/WebCore/DerivedSources.make:953 > -SUPPLEMENTAL_DEPENDENCY_FILE = ./supplemental_dependency.tmp > +SUPPLEMENTAL_DEPENDENCY_FILE = ./SupplementalDependencies.txt
In the future we want to make the rename in all other build systems. ./SupplementalDependencies.txt is a better name.
> Source/WebCore/bindings/scripts/preprocess-idls.pl:115 > + my @all_dependencies = [];
Nit: This line is not needed.
Adam Barth
Comment 6
2012-06-14 17:28:13 PDT
This isn't such a big deal in the Chromium build system because Chromium cats all the derived source files together into large compilation units anyway, so there isn't much of a difference. I think that's why I didn't notice that this issue still existed.
Alexis Menard (darktears)
Comment 7
2012-06-25 06:30:32 PDT
(In reply to
comment #4
)
> Committed
r120361
: <
http://trac.webkit.org/changeset/120361
>
It broke building WebKit in Xcode with the WebKit workspace :(
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug