Bug 149525 - Fix the broken !ENABLE(STREAM_API) build
Summary: Fix the broken !ENABLE(STREAM_API) build
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: youenn fablet
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-24 09:14 PDT by Csaba Osztrogonác
Modified: 2015-09-29 04:48 PDT (History)
5 users (show)

See Also:


Attachments
Patch (2.05 KB, patch)
2015-09-24 11:58 PDT, youenn fablet
no flags Details | Formatted Diff | Diff
Patch (1.50 KB, patch)
2015-09-28 04:12 PDT, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Csaba Osztrogonác 2015-09-24 09:14:15 PDT
build log:
-----------
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp: In function 'JSC::FunctionExecutable* WebCore::countQueuingStrategySizeCodeGenerator(JSC::VM&)':
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp:81:182: error: 'class WebCore::WebCoreJSClientData' has no member named 'countQueuingStrategyBuiltins'
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp:81:276: error: 'class WebCore::WebCoreJSClientData' has no member named 'countQueuingStrategyBuiltins'
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp: In function 'JSC::FunctionExecutable* WebCore::countQueuingStrategyInitializeCountQueuingStrategyCodeGenerator(JSC::VM&)':
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp:81:555: error: 'class WebCore::WebCoreJSClientData' has no member named 'countQueuingStrategyBuiltins'
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp:81:675: error: 'class WebCore::WebCoreJSClientData' has no member named 'countQueuingStrategyBuiltins'
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp: In function 'JSC::FunctionExecutable* WebCore::countQueuingStrategySizeCodeGenerator(JSC::VM&)':
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp:81:346: error: control reaches end of non-void function [-Werror=return-type]
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp: In function 'JSC::FunctionExecutable* WebCore::countQueuingStrategyInitializeCountQueuingStrategyCodeGenerator(JSC::VM&)':
DerivedSources/WebCore/CountQueuingStrategyBuiltins.cpp:81:771: error: control reaches end of non-void function [-Werror=return-type]
...
DerivedSources/WebCore/ReadableStreamBuiltins.cpp: In function 'JSC::FunctionExecutable* WebCore::readableStreamPipeThroughCodeGenerator(JSC::VM&)':
DerivedSources/WebCore/ReadableStreamBuiltins.cpp:64:183: error: 'class WebCore::WebCoreJSClientData' has no member named 'readableStreamBuiltins'
DerivedSources/WebCore/ReadableStreamBuiltins.cpp:64:272: error: 'class WebCore::WebCoreJSClientData' has no member named 'readableStreamBuiltins'
DerivedSources/WebCore/ReadableStreamBuiltins.cpp:64:337: error: control reaches end of non-void function [-Werror=return-type]
cc1plus: all warnings being treated as errors
...
In file included from ../../Source/WebCore/bindings/js/JSDOMWindowBase.cpp:38:0:
../../Source/WebCore/bindings/js/WebCoreJSClientData.h:40:43: error: unused parameter 'vm' [-Werror=unused-parameter]
...
Comment 1 youenn fablet 2015-09-24 11:58:56 PDT
Created attachment 261882 [details]
Patch
Comment 2 youenn fablet 2015-09-24 12:02:34 PDT
(In reply to comment #1)
> Created attachment 261882 [details]
> Patch

This is a temp fix.
The initial plan was to not compile these built-in files when streams api is off. I changed the plan to make it build on windows.

I will try to fix that properly later, maybe using a WebCoreJSBuiltinsAllInOne.cpp file.
Comment 3 WebKit Commit Bot 2015-09-25 10:52:43 PDT
Comment on attachment 261882 [details]
Patch

Clearing flags on attachment: 261882

Committed r190248: <http://trac.webkit.org/changeset/190248>
Comment 4 WebKit Commit Bot 2015-09-25 10:52:47 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Csaba Osztrogonác 2015-09-28 03:11:03 PDT
Reopen, because the build is still broken:

In file included from ../../Source/WebCore/bindings/js/JSDOMWindowBase.cpp:39:0:
../../Source/WebCore/bindings/js/WebCoreJSClientData.h:81:5: error: 'ReadableStreamBuiltinsWrapper' does not name a type
../../Source/WebCore/bindings/js/WebCoreJSClientData.h:82:5: error: 'CountQueuingStrategyBuiltinsWrapper' does not name a type
../../Source/WebCore/bindings/js/WebCoreJSClientData.h:88:5: error: 'ReadableStreamBuiltinsWrapper' does not name a type
../../Source/WebCore/bindings/js/WebCoreJSClientData.h:89:5: error: 'CountQueuingStrategyBuiltinsWrapper' does not name a type
../../Source/WebCore/bindings/js/WebCoreJSClientData.h: In constructor 'WebCore::WebCoreJSClientData::WebCoreJSClientData(JSC::VM&)':
../../Source/WebCore/bindings/js/WebCoreJSClientData.h:44:11: error: class 'WebCore::WebCoreJSClientData' does not have any field named 'm_readableStreamBuiltins'
../../Source/WebCore/bindings/js/WebCoreJSClientData.h:45:11: error: class 'WebCore::WebCoreJSClientData' does not have any field named 'm_countQueuingStrategyBuiltins'
Comment 6 Csaba Osztrogonác 2015-09-28 03:38:48 PDT
It seems https://trac.webkit.org/changeset/190225 and
http://trac.webkit.org/changeset/190248 are in conflict.

Reverting r190225 solved the build failure on Linux. What about Windows?
Comment 7 Csaba Osztrogonác 2015-09-28 04:12:38 PDT
Created attachment 262006 [details]
Patch

Revert r190225. Brent, could you confirm if it breaks the Windows build or not?
Comment 8 youenn fablet 2015-09-28 04:48:23 PDT
(In reply to comment #5)
> Reopen, because the build is still broken:
> 
> In file included from
> ../../Source/WebCore/bindings/js/JSDOMWindowBase.cpp:39:0:
> ../../Source/WebCore/bindings/js/WebCoreJSClientData.h:81:5: error:
> 'ReadableStreamBuiltinsWrapper' does not name a type
> ../../Source/WebCore/bindings/js/WebCoreJSClientData.h:82:5: error:
> 'CountQueuingStrategyBuiltinsWrapper' does not name a type
> ../../Source/WebCore/bindings/js/WebCoreJSClientData.h:88:5: error:
> 'ReadableStreamBuiltinsWrapper' does not name a type
> ../../Source/WebCore/bindings/js/WebCoreJSClientData.h:89:5: error:
> 'CountQueuingStrategyBuiltinsWrapper' does not name a type
> ../../Source/WebCore/bindings/js/WebCoreJSClientData.h: In constructor
> 'WebCore::WebCoreJSClientData::WebCoreJSClientData(JSC::VM&)':
> ../../Source/WebCore/bindings/js/WebCoreJSClientData.h:44:11: error: class
> 'WebCore::WebCoreJSClientData' does not have any field named
> 'm_readableStreamBuiltins'
> ../../Source/WebCore/bindings/js/WebCoreJSClientData.h:45:11: error: class
> 'WebCore::WebCoreJSClientData' does not have any field named
> 'm_countQueuingStrategyBuiltins'
Comment 9 youenn fablet 2015-09-28 04:54:43 PDT
(In reply to comment #7)
> Created attachment 262006 [details]
> Patch
> 
> Revert r190225. Brent, could you confirm if it breaks the Windows build or
> not?

I am a bit surprised that r190225 is fixing the win build.
What were the build errors?

FWIW, the build system is expected to always generate the XXBuiltins.h/.cpp and XXBuiltinsWrapper.h.

I plan to update the build system so that the XXBuiltins.cpp files are only compiled and linked when feature (STREAMS_API e.g.) is on.

I am thinking to use a file called WebCoreJSBuiltins.cpp which would include the XXBuiltins.cpp with the required #if ENABLE(YY). This would also simplify the addition of new js files.
Comment 10 youenn fablet 2015-09-28 05:01:36 PDT
> I plan to update the build system so that the XXBuiltins.cpp files are only
> compiled and linked when feature (STREAMS_API e.g.) is on.

At that time, we will be able to insert back the #ifdef ENABLE... in WebCoreJSClientData.h
Comment 11 Csaba Osztrogonác 2015-09-29 03:23:39 PDT
Comment on attachment 262006 [details]
Patch

Clearing flags on attachment: 262006

Committed r190307: <http://trac.webkit.org/changeset/190307>
Comment 12 Csaba Osztrogonác 2015-09-29 03:23:48 PDT
All reviewed patches have been landed.  Closing bug.
Comment 13 Csaba Osztrogonác 2015-09-29 03:33:41 PDT
(In reply to comment #10)
> > I plan to update the build system so that the XXBuiltins.cpp files are only
> > compiled and linked when feature (STREAMS_API e.g.) is on.
> 
> At that time, we will be able to insert back the #ifdef ENABLE... in
> WebCoreJSClientData.h

If you are going to do this refactor, please cc me to the bug report.
Comment 14 youenn fablet 2015-09-29 04:48:16 PDT
Fil(In reply to comment #13)
> (In reply to comment #10)
> > > I plan to update the build system so that the XXBuiltins.cpp files are only
> > > compiled and linked when feature (STREAMS_API e.g.) is on.
> > 
> > At that time, we will be able to insert back the #ifdef ENABLE... in
> > WebCoreJSClientData.h
> 
> If you are going to do this refactor, please cc me to the bug report.

Filed bug 149624 for that purpose.