Building QtWebKit for QNX with OpenGL support fails because the ANGLE headers in ThirdParty/ANGLE/include/{EGL,GLES2} are used instead of the system versions. These headers reference x11 headers for example, which is not available on QNX and thus triggers compilation errors. I'll propose a patch based on Simon Hausmann's previous patch shown here: http://paste.ubuntu.com/1175616/ I had to extend it though, since the code in ANGLE/src contains includes of "GLSLANG/ShaderLang.h" which will not be found with the patch above, since ANGLE/include is not in the INCLUDEPATH anymore. To fix this, I will add the GLSLANG folder directly to the include path and change the includes to something like #if PLATFORM(Qt) #include "ShaderLang.h" #else #include "GLSLANG/ShaderLang.h" #endif I'll add a patch.
Created attachment 161675 [details] Patch
Attachment 161675 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/ThirdParty/ANGLE/ChangeLog', u'Sour..." exit_code: 1 Source/ThirdParty/ANGLE/src/compiler/ShaderLang.cpp:14: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] Total errors found: 1 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
The style check is a false-positive afaiks, as this is ThirdParty code.
It would make more sense to modify eglplatform.h not to include X11 headers (and use their types) on QNX. It looks like this has already been done for android. Also, please upstream any changes.
Or alternatively, if QNX doesn't support EGL, you could try ensuring that Extensions3DOpenGLES.cpp isn't compiled there.
Thanks for the hint, EGL is supported and there is a eglplatform.h - I'll copy the code from there and put it into ANGLE's eglplatform.h and revise the patch presented here. Or, well - I'll try to get it upstream into ANGLE also.
Comment on attachment 161675 [details] Patch The solution to this is to change the way Angle is built and it's been done already :)
Bug #95965 fixes the issue of building WebKit on a platform where EGL/GLES2 is provided and where those would clash with Angle. *** This bug has been marked as a duplicate of bug 95965 ***