WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
160031
REGRESSION(
r62549
): Objective-C DOM bindings sometimes fail to regenerate when CodeGenerator.pm is modified
https://bugs.webkit.org/show_bug.cgi?id=160031
Summary
REGRESSION(r62549): Objective-C DOM bindings sometimes fail to regenerate whe...
Blaze Burg
Reported
2016-07-21 10:37:03 PDT
Ryosuke wrote: "Objective-C bindings files may fail to re-generate after
https://trac.webkit.org/changeset/203337
. Simply trigger clean rebuilds or delete files under DerivedSources/WebCore/ and it should go away." I hit this myself when moving past
r203337
. I think we have a bad dependency somewhere. Let's investigate in this bug.
Attachments
Proposed Fix
(2.51 KB, patch)
2016-07-21 15:29 PDT
,
Blaze Burg
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Darin Adler
Comment 1
2016-07-21 13:26:57 PDT
Ryosuke’s theory was that the binding generator doesn't re-generate .cpp files when CodeGeneratorJS.pm is modified (even though that dependency is explicitly expressed in DerivedSources.make). The best way to test this is to do a build, then do another to check that nothing rebuilds (sort of a "baseline"), then touch CodeGeneratorJS.pm, and see what rebuilds. If too little rebuilds, then we could change things so make is invoked with "-d" and see why the rule that is supposed to trigger rebuilds isn’t working.
Blaze Burg
Comment 2
2016-07-21 13:30:19 PDT
(In reply to
comment #1
)
> Ryosuke’s theory was that the binding generator doesn't re-generate .cpp > files when CodeGeneratorJS.pm is modified (even though that dependency is > explicitly expressed in DerivedSources.make). > > The best way to test this is to do a build, then do another to check that > nothing rebuilds (sort of a "baseline"), then touch CodeGeneratorJS.pm, and > see what rebuilds. > > If too little rebuilds, then we could change things so make is invoked with > "-d" and see why the rule that is supposed to trigger rebuilds isn’t working.
I am going to kick off a build and see if I can repro this particular case again.
Blaze Burg
Comment 3
2016-07-21 13:50:59 PDT
(In reply to
comment #1
)
> Ryosuke’s theory was that the binding generator doesn't re-generate .cpp > files when CodeGeneratorJS.pm is modified (even though that dependency is > explicitly expressed in DerivedSources.make).
I believe the relevant Make target is for the output .h files. These are a proxy for the .cpp/.mm files. GENERATE_SCRIPTS = \ bindings/scripts/CodeGenerator.pm \ bindings/scripts/IDLParser.pm \ bindings/scripts/generate-bindings.pl \ bindings/scripts/preprocessor.pm JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(IDL_ATTRIBUTES_FILE) $(WINDOW_CONSTRUCTORS_FILE) $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) $(PLATFORM_FEATURE_DEFINES) $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --idlAttributesFile $(IDL_ATTRIBUTES_FILE) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) $<
Blaze Burg
Comment 4
2016-07-21 13:53:13 PDT
The build is still going, but my hunch is that we are missing $(WEBCORE) prefixes from some bindings files.
Blaze Burg
Comment 5
2016-07-21 15:09:03 PDT
Validating a fix.
Blaze Burg
Comment 6
2016-07-21 15:29:34 PDT
Created
attachment 284269
[details]
Proposed Fix
WebKit Commit Bot
Comment 7
2016-07-21 20:01:06 PDT
Comment on
attachment 284269
[details]
Proposed Fix Clearing flags on attachment: 284269 Committed
r203549
: <
http://trac.webkit.org/changeset/203549
>
WebKit Commit Bot
Comment 8
2016-07-21 20:01:10 PDT
All reviewed patches have been landed. Closing bug.
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