Title: [127724] trunk
Revision
127724
Author
hausm...@webkit.org
Date
2012-09-06 03:55:43 -0700 (Thu, 06 Sep 2012)

Log Message

[Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
https://bugs.webkit.org/show_bug.cgi?id=95965

Reviewed by Tor Arne Vestbø.

.:

Add ANGLE as separate static library to the build and dependencies.

* Source/api.pri:
* WebKit.pro:

Source/ThirdParty/ANGLE:

Add build rules to build ANGLE as a static library for the Qt port.

* ANGLE.pri: Added.
* ANGLE.pro: Added.
* DerivedSources.pri: Added.
* Target.pri: Added.

Source/WebCore:

Moved all ANGLE build rules from here to Source/Thirty/ANGLE and
instead depend on the new library with a simple WEBKIT += ANGLE.

* DerivedSources.pri:
* Target.pri:
* platform/graphics/ANGLEWebKitBridge.h: Simplify the include statement
for the internal shader compiler API, aligned with the other platforms.

Source/WebKit:

Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
headers (GraphicsContext3D.h in particular).

* WebKit1.pro:

Source/WebKit2:

Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
headers (GraphicsContext3D.h in particular).

* Target.pri:

Tools:

Add ANGLE as a static library module to the Qt WebKit build system.

* qmake/mkspecs/features/default_post.prf:
* qmake/mkspecs/modules/angle.prf: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (127723 => 127724)


--- trunk/ChangeLog	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/ChangeLog	2012-09-06 10:55:43 UTC (rev 127724)
@@ -1,3 +1,15 @@
+2012-09-06  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+        https://bugs.webkit.org/show_bug.cgi?id=95965
+
+        Reviewed by Tor Arne Vestbø.
+
+        Add ANGLE as separate static library to the build and dependencies.
+
+        * Source/api.pri:
+        * WebKit.pro:
+
 2012-09-05  George Staikos  <stai...@webkit.org>
 
         [BlackBerry] Match th ebuild flags from the platform library

Added: trunk/Source/ThirdParty/ANGLE/ANGLE.pri (0 => 127724)


--- trunk/Source/ThirdParty/ANGLE/ANGLE.pri	                        (rev 0)
+++ trunk/Source/ThirdParty/ANGLE/ANGLE.pri	2012-09-06 10:55:43 UTC (rev 127724)
@@ -0,0 +1,12 @@
+# -------------------------------------------------------------------
+# This file contains shared rules used both when building ANGLE
+# itself, and by targets that use ANGLE.
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/ThirdParty/ANGLE
+
+INCLUDEPATH += \
+    $$SOURCE_DIR/include/GLSLANG
+

Added: trunk/Source/ThirdParty/ANGLE/ANGLE.pro (0 => 127724)


--- trunk/Source/ThirdParty/ANGLE/ANGLE.pro	                        (rev 0)
+++ trunk/Source/ThirdParty/ANGLE/ANGLE.pro	2012-09-06 10:55:43 UTC (rev 127724)
@@ -0,0 +1,14 @@
+# -------------------------------------------------------------------
+# Main project file for ANGLE
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+TEMPLATE = subdirs
+
+derived_sources.file = DerivedSources.pri
+target.file = Target.pri
+
+SUBDIRS += derived_sources target
+
+addStrictSubdirOrderBetween(derived_sources, target)

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (127723 => 127724)


--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2012-09-06 10:55:43 UTC (rev 127724)
@@ -1,3 +1,17 @@
+2012-09-06  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+        https://bugs.webkit.org/show_bug.cgi?id=95965
+
+        Reviewed by Tor Arne Vestbø.
+
+        Add build rules to build ANGLE as a static library for the Qt port.
+
+        * ANGLE.pri: Added.
+        * ANGLE.pro: Added.
+        * DerivedSources.pri: Added.
+        * Target.pri: Added.
+
 2012-08-24  Joshua Netterfield  <jnetterfi...@rim.com>
 
         [CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporary string

Added: trunk/Source/ThirdParty/ANGLE/DerivedSources.pri (0 => 127724)


--- trunk/Source/ThirdParty/ANGLE/DerivedSources.pri	                        (rev 0)
+++ trunk/Source/ThirdParty/ANGLE/DerivedSources.pri	2012-09-06 10:55:43 UTC (rev 127724)
@@ -0,0 +1,38 @@
+# -------------------------------------------------------------------
+# Derived sources for ANGLE
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+# This file is both a top level target, and included from Target.pri,
+# so that the resulting generated sources can be added to SOURCES.
+# We only set the template if we're a top level target, so that we
+# don't override what Target.pri has already set.
+sanitizedFile = $$toSanitizedPath($$_FILE_)
+equals(sanitizedFile, $$toSanitizedPath($$_PRO_FILE_)):TEMPLATE = derived
+
+ANGLE_FLEX_SOURCES = \
+    $$PWD/src/compiler/glslang.l \
+    $$PWD/src/compiler/preprocessor/new/Tokenizer.l
+
+angleflex.output = ${QMAKE_FILE_BASE}_lex.cpp
+angleflex.input = ANGLE_FLEX_SOURCES
+angleflex.commands = flex --noline --nounistd --outfile=${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+GENERATORS += angleflex
+
+ANGLE_BISON_SOURCES = \
+    $$PWD/src/compiler/glslang.y \
+    $$PWD/src/compiler/preprocessor/new/ExpressionParser.y
+
+anglebison_decl.output = ${QMAKE_FILE_BASE}_tab.h
+anglebison_decl.input = ANGLE_BISON_SOURCES
+anglebison_decl.commands = bison --no-lines --skeleton=yacc.c --defines=${QMAKE_FILE_OUT} --output=${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_OUT_BASE}.cpp ${QMAKE_FILE_IN}
+anglebison_decl.variable_out = GENERATED_FILES
+GENERATORS += anglebison_decl
+
+anglebison_impl.input = ANGLE_BISON_SOURCES
+anglebison_impl.commands = $$escape_expand(\\n)
+anglebison_impl.depends = $$GENERATED_SOURCES_DESTDIR/${QMAKE_FILE_BASE}_tab.h
+anglebison_impl.output = ${QMAKE_FILE_BASE}_tab.cpp
+GENERATORS += anglebison_impl
+

Added: trunk/Source/ThirdParty/ANGLE/Target.pri (0 => 127724)


--- trunk/Source/ThirdParty/ANGLE/Target.pri	                        (rev 0)
+++ trunk/Source/ThirdParty/ANGLE/Target.pri	2012-09-06 10:55:43 UTC (rev 127724)
@@ -0,0 +1,164 @@
+# -------------------------------------------------------------------
+# Target file for the ANGLE static library
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+TEMPLATE = lib
+TARGET = ANGLE
+
+include(ANGLE.pri)
+
+CONFIG += staticlib
+
+INCLUDEPATH += \
+    $$SOURCE_DIR/src \
+    $$SOURCE_DIR/src/compiler/preprocessor/new \
+    $$SOURCE_DIR/include
+
+HEADERS += \
+    src/compiler/BaseTypes.h \
+    src/compiler/BuiltInFunctionEmulator.h \
+    src/compiler/Common.h \
+    src/compiler/ConstantUnion.h \
+    src/compiler/debug.h \
+    src/compiler/depgraph/DependencyGraph.h \
+    src/compiler/depgraph/DependencyGraphBuilder.h \
+    src/compiler/depgraph/DependencyGraphOutput.h \
+    src/compiler/DetectDiscontinuity.h \
+    src/compiler/DetectRecursion.h \
+    src/compiler/Diagnostics.h \
+    src/compiler/DirectiveHandler.h \
+    src/compiler/ExtensionBehavior.h \
+    src/compiler/ForLoopUnroll.h \
+    src/compiler/glslang.h \
+    src/compiler/InfoSink.h \
+    src/compiler/InitializeDll.h \
+    src/compiler/InitializeGlobals.h \
+    src/compiler/Initialize.h \
+    src/compiler/InitializeParseContext.h \
+    src/compiler/intermediate.h \
+    src/compiler/localintermediate.h \
+    src/compiler/MMap.h \
+    src/compiler/MapLongVariableNames.h \
+    src/compiler/osinclude.h \
+    src/compiler/Pragma.h \
+    src/compiler/preprocessor/atom.h \
+    src/compiler/preprocessor/compile.h \
+    src/compiler/preprocessor/cpp.h \
+    src/compiler/preprocessor/length_limits.h \
+    src/compiler/preprocessor/memory.h \
+    src/compiler/preprocessor/new/Diagnostics.h \
+    src/compiler/preprocessor/new/DirectiveHandler.h \
+    src/compiler/preprocessor/new/DirectiveParser.h \
+    src/compiler/preprocessor/new/Input.h \
+    src/compiler/preprocessor/new/Lexer.h \
+    src/compiler/preprocessor/new/Macro.h \
+    src/compiler/preprocessor/new/MacroExpander.h \
+    src/compiler/preprocessor/new/Preprocessor.h \
+    src/compiler/preprocessor/new/SourceLocation.h \
+    src/compiler/preprocessor/new/Token.h \
+    src/compiler/preprocessor/new/Tokenizer.h \
+    src/compiler/preprocessor/parser.h \
+    src/compiler/preprocessor/preprocess.h \
+    src/compiler/preprocessor/scanner.h \
+    src/compiler/preprocessor/slglobals.h \
+    src/compiler/preprocessor/symbols.h \
+    src/compiler/preprocessor/tokens.h \
+    src/compiler/OutputESSL.h \
+    src/compiler/OutputGLSL.h \
+    src/compiler/OutputGLSLBase.h \
+    src/compiler/OutputHLSL.h \
+    src/compiler/ParseHelper.h \
+    src/compiler/PoolAlloc.h \
+    src/compiler/QualifierAlive.h \
+    src/compiler/RemoveTree.h \
+    src/compiler/RenameFunction.h \
+    src/compiler/SearchSymbol.h \
+    src/compiler/ShHandle.h \
+    src/compiler/SymbolTable.h \
+    src/compiler/timing/RestrictFragmentShaderTiming.h \
+    src/compiler/timing/RestrictVertexShaderTiming.h \
+    src/compiler/TranslatorESSL.h \
+    src/compiler/TranslatorGLSL.h \
+    src/compiler/TranslatorHLSL.h \
+    src/compiler/Types.h \
+    src/compiler/UnfoldShortCircuit.h \
+    src/compiler/util.h \
+    src/compiler/ValidateLimitations.h \
+    src/compiler/VariableInfo.h \
+    src/compiler/VersionGLSL.h
+
+SOURCES += \
+    src/compiler/BuiltInFunctionEmulator.cpp \
+    src/compiler/CodeGenGLSL.cpp \
+    src/compiler/Compiler.cpp \
+    src/compiler/debug.cpp \
+    src/compiler/depgraph/DependencyGraph.cpp \
+    src/compiler/depgraph/DependencyGraphBuilder.cpp \
+    src/compiler/depgraph/DependencyGraphOutput.cpp \
+    src/compiler/depgraph/DependencyGraphTraverse.cpp \
+    src/compiler/DetectDiscontinuity.cpp \
+    src/compiler/DetectRecursion.cpp \
+    src/compiler/Diagnostics.cpp \
+    src/compiler/DirectiveHandler.cpp \
+    src/compiler/ForLoopUnroll.cpp \
+    src/compiler/InfoSink.cpp \
+    src/compiler/Initialize.cpp \
+    src/compiler/InitializeDll.cpp \
+    src/compiler/InitializeParseContext.cpp \
+    src/compiler/Intermediate.cpp \
+    src/compiler/intermOut.cpp \
+    src/compiler/IntermTraverse.cpp \
+    src/compiler/MapLongVariableNames.cpp \
+    src/compiler/OutputESSL.cpp \
+    src/compiler/OutputGLSL.cpp \
+    src/compiler/OutputGLSLBase.cpp \
+    src/compiler/OutputHLSL.cpp \
+    src/compiler/parseConst.cpp \
+    src/compiler/ParseHelper.cpp \
+    src/compiler/PoolAlloc.cpp \
+    src/compiler/QualifierAlive.cpp \
+    src/compiler/RemoveTree.cpp \
+    src/compiler/SearchSymbol.cpp \
+    src/compiler/ShaderLang.cpp \
+    src/compiler/SymbolTable.cpp \
+    src/compiler/timing/RestrictFragmentShaderTiming.cpp \
+    src/compiler/timing/RestrictVertexShaderTiming.cpp \
+    src/compiler/TranslatorESSL.cpp \
+    src/compiler/TranslatorGLSL.cpp \
+    src/compiler/TranslatorHLSL.cpp \
+    src/compiler/UnfoldShortCircuit.cpp \
+    src/compiler/util.cpp \
+    src/compiler/ValidateLimitations.cpp \
+    src/compiler/VariableInfo.cpp \
+    src/compiler/VersionGLSL.cpp \
+    src/compiler/preprocessor/atom.c \
+    src/compiler/preprocessor/cpp.c \
+    src/compiler/preprocessor/cppstruct.c \
+    src/compiler/preprocessor/memory.c \
+    src/compiler/preprocessor/new/DiagnosticsBase.cpp \
+    src/compiler/preprocessor/new/DirectiveHandlerBase.cpp \
+    src/compiler/preprocessor/new/DirectiveParser.cpp \
+    src/compiler/preprocessor/new/Input.cpp \
+    src/compiler/preprocessor/new/Lexer.cpp \
+    src/compiler/preprocessor/new/Macro.cpp \
+    src/compiler/preprocessor/new/MacroExpander.cpp \
+    src/compiler/preprocessor/new/Preprocessor.cpp \
+    src/compiler/preprocessor/new/Token.cpp \
+    src/compiler/preprocessor/scanner.c \
+    src/compiler/preprocessor/symbols.c \
+    src/compiler/preprocessor/tokens.c
+
+win32: SOURCES += src/compiler/ossource_win.cpp
+else: SOURCES += src/compiler/ossource_posix.cpp
+
+# Make sure the derived sources are built
+include(DerivedSources.pri)
+
+*g++* {
+    QMAKE_CXXFLAGS += -Wno-unused-variable -Wno-missing-noreturn -Wno-unused-function -Wno-reorder -Wno-error -Wno-unknown-pragmas -Wno-undef
+}
+
+# We do not need anything from Qt
+QT =

Modified: trunk/Source/WebCore/ChangeLog (127723 => 127724)


--- trunk/Source/WebCore/ChangeLog	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebCore/ChangeLog	2012-09-06 10:55:43 UTC (rev 127724)
@@ -1,3 +1,18 @@
+2012-09-06  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+        https://bugs.webkit.org/show_bug.cgi?id=95965
+
+        Reviewed by Tor Arne Vestbø.
+
+        Moved all ANGLE build rules from here to Source/Thirty/ANGLE and
+        instead depend on the new library with a simple WEBKIT += ANGLE.
+
+        * DerivedSources.pri:
+        * Target.pri:
+        * platform/graphics/ANGLEWebKitBridge.h: Simplify the include statement
+        for the internal shader compiler API, aligned with the other platforms.
+
 2012-09-06  Kangil Han  <kangil....@samsung.com>
 
         [EFL] Keep placeholder text visible until first input from user.

Modified: trunk/Source/WebCore/DerivedSources.pri (127723 => 127724)


--- trunk/Source/WebCore/DerivedSources.pri	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebCore/DerivedSources.pri	2012-09-06 10:55:43 UTC (rev 127724)
@@ -950,35 +950,3 @@
 webkitversion.add_output_to_sources = false
 GENERATORS += webkitversion
 
-# Generator 12: Angle parsers
-contains(DEFINES, WTF_USE_3D_GRAPHICS=1) {
-
-    ANGLE_DIR = $$replace(PWD, "WebCore", "ThirdParty/ANGLE")
-
-    ANGLE_FLEX_SOURCES = \
-        $$ANGLE_DIR/src/compiler/glslang.l \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Tokenizer.l
-
-    angleflex.output = ${QMAKE_FILE_BASE}_lex.cpp
-    angleflex.input = ANGLE_FLEX_SOURCES
-    angleflex.commands = flex --noline --nounistd --outfile=${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
-    *g++*: angleflex.variable_out = ANGLE_SOURCES
-    GENERATORS += angleflex
-
-    ANGLE_BISON_SOURCES = \
-        $$ANGLE_DIR/src/compiler/glslang.y \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/ExpressionParser.y
-
-    anglebison_decl.output = ${QMAKE_FILE_BASE}_tab.h
-    anglebison_decl.input = ANGLE_BISON_SOURCES
-    anglebison_decl.commands = bison --no-lines --skeleton=yacc.c --defines=${QMAKE_FILE_OUT} --output=${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_OUT_BASE}.cpp ${QMAKE_FILE_IN}
-    anglebison_decl.variable_out = GENERATED_FILES
-    GENERATORS += anglebison_decl
-
-    anglebison_impl.input = ANGLE_BISON_SOURCES
-    anglebison_impl.commands = $$escape_expand(\\n)
-    anglebison_impl.depends = ${QMAKE_FILE_BASE}_tab.h
-    anglebison_impl.output = ${QMAKE_FILE_BASE}_tab.cpp
-    *g++*: anglebison_impl.variable_out = ANGLE_SOURCES
-    GENERATORS += anglebison_impl
-}

Modified: trunk/Source/WebCore/Target.pri (127723 => 127724)


--- trunk/Source/WebCore/Target.pri	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebCore/Target.pri	2012-09-06 10:55:43 UTC (rev 127724)
@@ -3927,169 +3927,8 @@
             platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
     }
 
-    ANGLE_DIR = $$replace(PWD, "WebCore", "ThirdParty/ANGLE")
+    WEBKIT += angle
 
-    INCLUDEPATH += \
-        $$ANGLE_DIR/src \
-        $$ANGLE_DIR/src/compiler/preprocessor/new \
-        $$ANGLE_DIR/include
-
-    ANGLE_HEADERS += \
-        $$ANGLE_DIR/src/compiler/BaseTypes.h \
-        $$ANGLE_DIR/src/compiler/BuiltInFunctionEmulator.h \
-        $$ANGLE_DIR/src/compiler/Common.h \
-        $$ANGLE_DIR/src/compiler/ConstantUnion.h \
-        $$ANGLE_DIR/src/compiler/debug.h \
-        $$ANGLE_DIR/src/compiler/depgraph/DependencyGraph.h \
-        $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphBuilder.h \
-        $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphOutput.h \
-        $$ANGLE_DIR/src/compiler/DetectDiscontinuity.h \
-        $$ANGLE_DIR/src/compiler/DetectRecursion.h \
-        $$ANGLE_DIR/src/compiler/Diagnostics.h \
-        $$ANGLE_DIR/src/compiler/DirectiveHandler.h \
-        $$ANGLE_DIR/src/compiler/ExtensionBehavior.h \
-        $$ANGLE_DIR/src/compiler/ForLoopUnroll.h \
-        $$ANGLE_DIR/src/compiler/glslang.h \
-        $$ANGLE_DIR/src/compiler/InfoSink.h \
-        $$ANGLE_DIR/src/compiler/InitializeDll.h \
-        $$ANGLE_DIR/src/compiler/InitializeGlobals.h \
-        $$ANGLE_DIR/src/compiler/Initialize.h \
-        $$ANGLE_DIR/src/compiler/InitializeParseContext.h \
-        $$ANGLE_DIR/src/compiler/intermediate.h \
-        $$ANGLE_DIR/src/compiler/localintermediate.h \
-        $$ANGLE_DIR/src/compiler/MMap.h \
-        $$ANGLE_DIR/src/compiler/MapLongVariableNames.h \
-        $$ANGLE_DIR/src/compiler/osinclude.h \
-        $$ANGLE_DIR/src/compiler/Pragma.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/atom.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/compile.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/cpp.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/length_limits.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/memory.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Diagnostics.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveHandler.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveParser.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Input.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Lexer.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Macro.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/MacroExpander.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Preprocessor.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/SourceLocation.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Token.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Tokenizer.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/parser.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/preprocess.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/scanner.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/slglobals.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/symbols.h \
-        $$ANGLE_DIR/src/compiler/preprocessor/tokens.h \
-        $$ANGLE_DIR/src/compiler/OutputESSL.h \
-        $$ANGLE_DIR/src/compiler/OutputGLSL.h \
-        $$ANGLE_DIR/src/compiler/OutputGLSLBase.h \
-        $$ANGLE_DIR/src/compiler/OutputHLSL.h \
-        $$ANGLE_DIR/src/compiler/ParseHelper.h \
-        $$ANGLE_DIR/src/compiler/PoolAlloc.h \
-        $$ANGLE_DIR/src/compiler/QualifierAlive.h \
-        $$ANGLE_DIR/src/compiler/RemoveTree.h \
-        $$ANGLE_DIR/src/compiler/RenameFunction.h \
-        $$ANGLE_DIR/src/compiler/SearchSymbol.h \
-        $$ANGLE_DIR/src/compiler/ShHandle.h \
-        $$ANGLE_DIR/src/compiler/SymbolTable.h \
-        $$ANGLE_DIR/src/compiler/timing/RestrictFragmentShaderTiming.h \
-        $$ANGLE_DIR/src/compiler/timing/RestrictVertexShaderTiming.h \
-        $$ANGLE_DIR/src/compiler/TranslatorESSL.h \
-        $$ANGLE_DIR/src/compiler/TranslatorGLSL.h \
-        $$ANGLE_DIR/src/compiler/TranslatorHLSL.h \
-        $$ANGLE_DIR/src/compiler/Types.h \
-        $$ANGLE_DIR/src/compiler/UnfoldShortCircuit.h \
-        $$ANGLE_DIR/src/compiler/util.h \
-        $$ANGLE_DIR/src/compiler/ValidateLimitations.h \
-        $$ANGLE_DIR/src/compiler/VariableInfo.h \
-        $$ANGLE_DIR/src/compiler/VersionGLSL.h
-
-    HEADERS += $$ANGLE_HEADERS
-
-    ANGLE_SOURCES += \
-        $$ANGLE_DIR/src/compiler/BuiltInFunctionEmulator.cpp \
-        $$ANGLE_DIR/src/compiler/CodeGenGLSL.cpp \
-        $$ANGLE_DIR/src/compiler/Compiler.cpp \
-        $$ANGLE_DIR/src/compiler/debug.cpp \
-        $$ANGLE_DIR/src/compiler/depgraph/DependencyGraph.cpp \
-        $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphBuilder.cpp \
-        $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphOutput.cpp \
-        $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphTraverse.cpp \
-        $$ANGLE_DIR/src/compiler/DetectDiscontinuity.cpp \
-        $$ANGLE_DIR/src/compiler/DetectRecursion.cpp \
-        $$ANGLE_DIR/src/compiler/Diagnostics.cpp \
-        $$ANGLE_DIR/src/compiler/DirectiveHandler.cpp \
-        $$ANGLE_DIR/src/compiler/ForLoopUnroll.cpp \
-        $$ANGLE_DIR/src/compiler/InfoSink.cpp \
-        $$ANGLE_DIR/src/compiler/Initialize.cpp \
-        $$ANGLE_DIR/src/compiler/InitializeDll.cpp \
-        $$ANGLE_DIR/src/compiler/InitializeParseContext.cpp \ 
-        $$ANGLE_DIR/src/compiler/Intermediate.cpp \
-        $$ANGLE_DIR/src/compiler/intermOut.cpp \
-        $$ANGLE_DIR/src/compiler/IntermTraverse.cpp \
-        $$ANGLE_DIR/src/compiler/MapLongVariableNames.cpp \
-        $$ANGLE_DIR/src/compiler/ossource_posix.cpp \
-        $$ANGLE_DIR/src/compiler/OutputESSL.cpp \
-        $$ANGLE_DIR/src/compiler/OutputGLSL.cpp \
-        $$ANGLE_DIR/src/compiler/OutputGLSLBase.cpp \
-        $$ANGLE_DIR/src/compiler/OutputHLSL.cpp \
-        $$ANGLE_DIR/src/compiler/parseConst.cpp \
-        $$ANGLE_DIR/src/compiler/ParseHelper.cpp \
-        $$ANGLE_DIR/src/compiler/PoolAlloc.cpp \
-        $$ANGLE_DIR/src/compiler/QualifierAlive.cpp \
-        $$ANGLE_DIR/src/compiler/RemoveTree.cpp \
-        $$ANGLE_DIR/src/compiler/SearchSymbol.cpp \
-        $$ANGLE_DIR/src/compiler/ShaderLang.cpp \
-        $$ANGLE_DIR/src/compiler/SymbolTable.cpp \
-        $$ANGLE_DIR/src/compiler/timing/RestrictFragmentShaderTiming.cpp \
-        $$ANGLE_DIR/src/compiler/timing/RestrictVertexShaderTiming.cpp \
-        $$ANGLE_DIR/src/compiler/TranslatorESSL.cpp \
-        $$ANGLE_DIR/src/compiler/TranslatorGLSL.cpp \
-        $$ANGLE_DIR/src/compiler/TranslatorHLSL.cpp \
-        $$ANGLE_DIR/src/compiler/UnfoldShortCircuit.cpp \
-        $$ANGLE_DIR/src/compiler/util.cpp \
-        $$ANGLE_DIR/src/compiler/ValidateLimitations.cpp \
-        $$ANGLE_DIR/src/compiler/VariableInfo.cpp \
-        $$ANGLE_DIR/src/compiler/VersionGLSL.cpp
-
-    SOURCES += \
-        $$ANGLE_DIR/src/compiler/preprocessor/atom.c \
-        $$ANGLE_DIR/src/compiler/preprocessor/cpp.c \
-        $$ANGLE_DIR/src/compiler/preprocessor/cppstruct.c \
-        $$ANGLE_DIR/src/compiler/preprocessor/memory.c \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/DiagnosticsBase.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveHandlerBase.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveParser.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Input.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Lexer.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Macro.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/MacroExpander.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Preprocessor.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/new/Token.cpp \
-        $$ANGLE_DIR/src/compiler/preprocessor/scanner.c \
-        $$ANGLE_DIR/src/compiler/preprocessor/symbols.c \
-        $$ANGLE_DIR/src/compiler/preprocessor/tokens.c
-
-    *g++* {
-        ANGLE_CFLAGS += -Wno-unused-variable
-        ANGLE_CFLAGS += -Wno-missing-noreturn
-        ANGLE_CFLAGS += -Wno-unused-function
-        ANGLE_CFLAGS += -Wno-reorder
-        ANGLE_CFLAGS += -Wno-error
-
-        angle_cxx.commands = $$QMAKE_CXX -c $(CXXFLAGS) $$ANGLE_CFLAGS $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
-        angle_cxx.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$$QMAKE_EXT_OBJ
-        anglc_cxx.dependency_type = TYPE_C
-        angle_cxx.depends = $$ANGLE_HEADERS
-        angle_cxx.input = ANGLE_SOURCES
-        QMAKE_EXTRA_COMPILERS += angle_cxx
-    } else {
-        SOURCES += $$ANGLE_SOURCES
-    }
-
     CONFIG += opengl-shims
     INCLUDEPATH += platform/graphics/gpu
 }

Modified: trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h (127723 => 127724)


--- trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h	2012-09-06 10:55:43 UTC (rev 127724)
@@ -29,9 +29,7 @@
 #include "PlatformString.h"
 #include <wtf/text/CString.h>
 
-#if PLATFORM(QT)
-#include "ANGLE/include/GLSLANG/ShaderLang.h"
-#elif !PLATFORM(GTK) && !PLATFORM(EFL) && !PLATFORM(BLACKBERRY) && !PLATFORM(CHROMIUM)
+#if !PLATFORM(GTK) && !PLATFORM(EFL) && !PLATFORM(BLACKBERRY) && !PLATFORM(CHROMIUM) && !PLATFORM(QT)
 #include "ANGLE/ShaderLang.h"
 #else
 #include "ShaderLang.h"

Modified: trunk/Source/WebKit/ChangeLog (127723 => 127724)


--- trunk/Source/WebKit/ChangeLog	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebKit/ChangeLog	2012-09-06 10:55:43 UTC (rev 127724)
@@ -1,3 +1,15 @@
+2012-09-06  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+        https://bugs.webkit.org/show_bug.cgi?id=95965
+
+        Reviewed by Tor Arne Vestbø.
+
+        Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
+        headers (GraphicsContext3D.h in particular).
+
+        * WebKit1.pro:
+
 2012-09-04  Michał Pakuła vel Rutka  <m.pak...@samsung.com>
 
         [EFL] Context menu restore.

Modified: trunk/Source/WebKit/WebKit1.pro (127723 => 127724)


--- trunk/Source/WebKit/WebKit1.pro	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebKit/WebKit1.pro	2012-09-06 10:55:43 UTC (rev 127724)
@@ -152,4 +152,5 @@
         $$PWD/qt/WebCoreSupport/GeolocationClientQt.cpp
 }
 
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += angle
 

Modified: trunk/Source/WebKit2/ChangeLog (127723 => 127724)


--- trunk/Source/WebKit2/ChangeLog	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebKit2/ChangeLog	2012-09-06 10:55:43 UTC (rev 127724)
@@ -1,3 +1,15 @@
+2012-09-06  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+        https://bugs.webkit.org/show_bug.cgi?id=95965
+
+        Reviewed by Tor Arne Vestbø.
+
+        Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
+        headers (GraphicsContext3D.h in particular).
+
+        * Target.pri:
+
 2012-09-06  Andras Becsi  <andras.be...@nokia.com>
 
         [WK2] Make [Qt]ViewportHandler cross platform

Modified: trunk/Source/WebKit2/Target.pri (127723 => 127724)


--- trunk/Source/WebKit2/Target.pri	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/WebKit2/Target.pri	2012-09-06 10:55:43 UTC (rev 127724)
@@ -889,6 +889,8 @@
 
 contains(DEFINES, ENABLE_GEOLOCATION=1): QT += location
 
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += ANGLE
+
 plugin_backend_xlib {
     DEFINES += XP_UNIX
     PKGCONFIG += x11

Modified: trunk/Source/api.pri (127723 => 127724)


--- trunk/Source/api.pri	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Source/api.pri	2012-09-06 10:55:43 UTC (rev 127724)
@@ -85,6 +85,8 @@
 
 !no_webkit1: WEBKIT += webkit1
 
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += angle
+
 qnx {
     # see: https://bugs.webkit.org/show_bug.cgi?id=93460
     # the gcc 4.4.2 used in the qnx bbndk cannot cope with

Modified: trunk/Tools/ChangeLog (127723 => 127724)


--- trunk/Tools/ChangeLog	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Tools/ChangeLog	2012-09-06 10:55:43 UTC (rev 127724)
@@ -1,3 +1,15 @@
+2012-09-06  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+        https://bugs.webkit.org/show_bug.cgi?id=95965
+
+        Reviewed by Tor Arne Vestbø.
+
+        Add ANGLE as a static library module to the Qt WebKit build system.
+
+        * qmake/mkspecs/features/default_post.prf:
+        * qmake/mkspecs/modules/angle.prf: Added.
+
 2012-09-06  Andras Becsi  <andras.be...@nokia.com>
 
         [WK2] Make [Qt]ViewportHandler cross platform

Modified: trunk/Tools/qmake/mkspecs/features/default_post.prf (127723 => 127724)


--- trunk/Tools/qmake/mkspecs/features/default_post.prf	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/Tools/qmake/mkspecs/features/default_post.prf	2012-09-06 10:55:43 UTC (rev 127724)
@@ -158,7 +158,7 @@
 
 # Reorder libraries so that the link and include order is correct,
 # and make sure the case matches the original case.
-libraries = WebKit1 WebKit2 WebCore _javascript_Core WTF
+libraries = WebKit1 WebKit2 WebCore ANGLE _javascript_Core WTF
 for(library, libraries) {
     contains(WEBKIT, $$lower($$library)) {
         WEBKIT -= $$lower($$library)

Added: trunk/Tools/qmake/mkspecs/modules/angle.prf (0 => 127724)


--- trunk/Tools/qmake/mkspecs/modules/angle.prf	                        (rev 0)
+++ trunk/Tools/qmake/mkspecs/modules/angle.prf	2012-09-06 10:55:43 UTC (rev 127724)
@@ -0,0 +1,9 @@
+# -------------------------------------------------------------------
+# Module file for ANGLE, used by targets that depend on ANGLE
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+WEBKIT.angle.root_source_dir = $${ROOT_WEBKIT_DIR}/Source/ThirdParty/ANGLE
+
+include($${WEBKIT.angle.root_source_dir}/ANGLE.pri)

Modified: trunk/WebKit.pro (127723 => 127724)


--- trunk/WebKit.pro	2012-09-06 10:47:42 UTC (rev 127723)
+++ trunk/WebKit.pro	2012-09-06 10:55:43 UTC (rev 127724)
@@ -49,6 +49,12 @@
 _javascript_Core.makefile = Makefile._javascript_Core
 SUBDIRS += _javascript_Core
 
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1) {
+    ANGLE.file = Source/ThirdParty/ANGLE/ANGLE.pro
+    ANGLE.makefile = Makefile.ANGLE
+    SUBDIRS += ANGLE
+}
+
 WebCore.file = Source/WebCore/WebCore.pro
 WebCore.makefile = Makefile.WebCore
 SUBDIRS += WebCore
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to