Bug 138245

Summary: [EFL] Fix the build with EFL 1.12
Product: WebKit Reporter: Csaba Osztrogonác <ossy>
Component: Tools / TestsAssignee: Ryuan Choi <ryuan.choi>
Status: RESOLVED FIXED    
Severity: Normal CC: buildbot, commit-queue, gyuyoung.kim, hw1008.kim, ossy, rniwa, ryuan.choi
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 138865    
Bug Blocks: 138733    
Attachments:
Description Flags
Patch none

Description Csaba Osztrogonác 2014-10-31 03:44:11 PDT
EFL 1.12 will be out in 10 days, but the WebKit build is broken with EFL 1.12 beta1
with the folowing error message:

In file included from ../../Source/ThirdParty/ANGLE/include/GLSLANG/ShaderLang.h:26:0,
                 from ../../Source/WebCore/platform/graphics/ANGLEWebKitBridge.h:37,
                 from ../../Source/WebCore/platform/graphics/GraphicsContext3D.h:29,
                 from ../../Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h:26,
                 from ../../Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:43,
                 from ../../Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:24,
                 from ../../Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.h:32,
                 from DerivedSources/WebKit2/include/WebCore/CompositingCoordinator.h:1,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:28,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:32:
../../Source/ThirdParty/ANGLE/include/KHR/khrplatform.h:144:17: error: conflicting declaration 'typedef int64_t khronos_int64_t'
In file included from ../../Source/WTF/wtf/efl/UniquePtrEfl.h:36:0,
                 from ../../Source/WTF/wtf/RunLoop.h:45,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:35,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:30:
../Dependencies/Root/include/evas-1/Evas_GL.h:847:26: error: 'khronos_int64_t' has a previous declaration as 'typedef long long int khronos_int64_t'
In file included from ../../Source/ThirdParty/ANGLE/include/GLSLANG/ShaderLang.h:26:0,
                 from ../../Source/WebCore/platform/graphics/ANGLEWebKitBridge.h:37,
                 from ../../Source/WebCore/platform/graphics/GraphicsContext3D.h:29,
                 from ../../Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h:26,
                 from ../../Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:43,
                 from ../../Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:24,
                 from ../../Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.h:32,
                 from DerivedSources/WebKit2/include/WebCore/CompositingCoordinator.h:1,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:28,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:32:
../../Source/ThirdParty/ANGLE/include/KHR/khrplatform.h:145:18: error: conflicting declaration 'typedef uint64_t khronos_uint64_t'
In file included from ../../Source/WTF/wtf/efl/UniquePtrEfl.h:36:0,
                 from ../../Source/WTF/wtf/RunLoop.h:45,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:35,
                 from ../../Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:30:
../Dependencies/Root/include/evas-1/Evas_GL.h:846:28: error: 'khronos_uint64_t' has a previous declaration as 'typedef long long unsigned int khronos_uint64_t'


The root of the problem is this commit inside EFL:
https://git.enlightenment.org/core/efl.git/commit/?id=6848cf40b622ee84ca045a138524e868752ce7f5

I'm not sure if it should be fixed in WebKit or in EFL. But it should 
be fixed somewhere if we would like to use newer EFL in the future.
Comment 1 Ryuan Choi 2014-11-10 20:32:13 PST
Created attachment 241328 [details]
Patch
Comment 2 Ryuan Choi 2014-11-10 20:36:15 PST
If I am right, Evas_GL.h should not be included along with another GL headers.

So, I removed it from UniquePtrEfl.h
This changes make not to use UniquePtrEfl for Evas_GL.

In addition, I found another build issue like below.
/workspace/project/webkit/efl-webkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp: In member function ‘bool EwkView::createGLSurface()’:
/workspace/project/webkit/efl-webkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp:836:5: error: missing initializer for member ‘_Evas_GL_Config::gles_version’ [-Werror=missing-field-initializers]
     };
     ^

Evas_GL_Config introduced new member, gles_version.
Comment 3 Gyuyoung Kim 2014-11-12 22:26:19 PST
Comment on attachment 241328 [details]
Patch

LGTM.
Comment 4 WebKit Commit Bot 2014-11-12 23:07:16 PST
Comment on attachment 241328 [details]
Patch

Clearing flags on attachment: 241328

Committed r176066: <http://trac.webkit.org/changeset/176066>
Comment 5 WebKit Commit Bot 2014-11-12 23:07:23 PST
All reviewed patches have been landed.  Closing bug.
Comment 6 Csaba Osztrogonác 2014-11-19 02:43:29 PST
(In reply to comment #4)
> Comment on attachment 241328 [details]
> Patch
> 
> Clearing flags on attachment: 241328
> 
> Committed r176066: <http://trac.webkit.org/changeset/176066>

It made all performance tests fail. The new bug report
for this regression: bug138865