Generate derived files in ANGLE at build time rather than when updating from upstream.
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Jul 2013 22:07:21 +0000 (22:07 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Jul 2013 22:07:21 +0000 (22:07 +0000)
https://bugs.webkit.org/show_bug.cgi?id=118872

Reviewed by Mark Rowe.

* ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make,
moved generated files into Derived Sources group.
* DerivedSources.make: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@152929 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/DerivedSources.make [new file with mode: 0644]

index fce5917c2ad095d3243ed6080b785c85e92a0245..e5d39df4652fac890d2988a365f888e893993257 100644 (file)
@@ -6,6 +6,20 @@
        objectVersion = 46;
        objects = {
 
+/* Begin PBXAggregateTarget section */
+               5C9D829B1798B1CD007E1588 /* Derived Sources */ = {
+                       isa = PBXAggregateTarget;
+                       buildConfigurationList = 5C9D829C1798B1CE007E1588 /* Build configuration list for PBXAggregateTarget "Derived Sources" */;
+                       buildPhases = (
+                               5C9D82A01798B1D6007E1588 /* ShellScript */,
+                       );
+                       dependencies = (
+                       );
+                       name = "Derived Sources";
+                       productName = "Derived Sources";
+               };
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
                312BDB0C15FECAC90097EBC7 /* ANGLE.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = 312BDB0915FEC91E0097EBC7 /* ANGLE.plist */; };
                312BDB0E15FECAE50097EBC7 /* ANGLE.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 312BDB0A15FECA3A0097EBC7 /* ANGLE.txt */; };
                49951C0A14B7AAD80060E96E /* BuiltInFunctionEmulator.h in Headers */ = {isa = PBXBuildFile; fileRef = 49951C0614B7AAD80060E96E /* BuiltInFunctionEmulator.h */; };
                49951C0B14B7AAD80060E96E /* DetectCallDepth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49951C0714B7AAD80060E96E /* DetectCallDepth.cpp */; };
                49951C0C14B7AAD80060E96E /* DetectCallDepth.h in Headers */ = {isa = PBXBuildFile; fileRef = 49951C0814B7AAD80060E96E /* DetectCallDepth.h */; };
+               5C9D82961798B1A1007E1588 /* ExpressionParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C9D82911798B1A1007E1588 /* ExpressionParser.cpp */; };
+               5C9D82971798B1A1007E1588 /* glslang_lex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C9D82921798B1A1007E1588 /* glslang_lex.cpp */; };
+               5C9D82981798B1A1007E1588 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C9D82931798B1A1007E1588 /* glslang_tab.cpp */; };
+               5C9D82991798B1A1007E1588 /* glslang_tab.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C9D82941798B1A1007E1588 /* glslang_tab.h */; };
+               5C9D829A1798B1A1007E1588 /* Tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C9D82951798B1A1007E1588 /* Tokenizer.cpp */; };
                5CCEB8B617908EEC00FD9496 /* builtin_symbol_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CCEB8B417908E3A00FD9496 /* builtin_symbol_table.cpp */; };
                90D9B10212E11DCB002D4255 /* Compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B0F912E11DCB002D4255 /* Compiler.cpp */; };
                90D9B10312E11DCB002D4255 /* ExtensionBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B0FA12E11DCB002D4255 /* ExtensionBehavior.h */; };
-               90D9B10412E11DCB002D4255 /* glslang_lex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B0FB12E11DCB002D4255 /* glslang_lex.cpp */; };
-               90D9B10512E11DCB002D4255 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B0FC12E11DCB002D4255 /* glslang_tab.cpp */; };
-               90D9B10612E11DCB002D4255 /* glslang_tab.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B0FD12E11DCB002D4255 /* glslang_tab.h */; };
                90D9B10712E11DCB002D4255 /* glslang.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B0FE12E11DCB002D4255 /* glslang.h */; };
                90D9B10912E11DCB002D4255 /* SearchSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B10012E11DCB002D4255 /* SearchSymbol.cpp */; };
                90D9B10A12E11DCB002D4255 /* SearchSymbol.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B10112E11DCB002D4255 /* SearchSymbol.h */; };
@@ -49,7 +65,6 @@
                A264F8AF16974DED006FAA5A /* DirectiveHandlerBase.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F89616974DED006FAA5A /* DirectiveHandlerBase.h */; };
                A264F8B016974DED006FAA5A /* DirectiveParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F89716974DED006FAA5A /* DirectiveParser.cpp */; };
                A264F8B116974DED006FAA5A /* DirectiveParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F89816974DED006FAA5A /* DirectiveParser.h */; };
-               A264F8B216974DED006FAA5A /* ExpressionParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F89916974DED006FAA5A /* ExpressionParser.cpp */; };
                A264F8B316974DED006FAA5A /* ExpressionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F89A16974DED006FAA5A /* ExpressionParser.h */; };
                A264F8B416974DED006FAA5A /* Input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F89B16974DED006FAA5A /* Input.cpp */; };
                A264F8B516974DED006FAA5A /* Input.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F89C16974DED006FAA5A /* Input.h */; };
@@ -66,7 +81,6 @@
                A264F8C016974DED006FAA5A /* SourceLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8A716974DED006FAA5A /* SourceLocation.h */; };
                A264F8C116974DED006FAA5A /* Token.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F8A816974DED006FAA5A /* Token.cpp */; };
                A264F8C216974DED006FAA5A /* Token.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8A916974DED006FAA5A /* Token.h */; };
-               A264F8C316974DED006FAA5A /* Tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F8AA16974DED006FAA5A /* Tokenizer.cpp */; };
                A264F8C416974DED006FAA5A /* Tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8AB16974DED006FAA5A /* Tokenizer.h */; };
                A264F8C816974E2A006FAA5A /* HashNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8C516974E2A006FAA5A /* HashNames.h */; };
                A264F8C916974E2A006FAA5A /* VariablePacker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F8C616974E2A006FAA5A /* VariablePacker.cpp */; };
                FB39D76E120110FC00088E69 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = FB39D2BF1200F3E600088E69 /* ShaderLang.h */; settings = {ATTRIBUTES = (Public, ); }; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+               5C9D82A11798B1E6007E1588 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = FB39D0701200ED9200088E69 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 5C9D829B1798B1CD007E1588;
+                       remoteInfo = "Derived Sources";
+               };
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXCopyFilesBuildPhase section */
                312BDB0B15FECAB00097EBC7 /* CopyFiles */ = {
                        isa = PBXCopyFilesBuildPhase;
                49951C0614B7AAD80060E96E /* BuiltInFunctionEmulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuiltInFunctionEmulator.h; sourceTree = "<group>"; };
                49951C0714B7AAD80060E96E /* DetectCallDepth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DetectCallDepth.cpp; sourceTree = "<group>"; };
                49951C0814B7AAD80060E96E /* DetectCallDepth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetectCallDepth.h; sourceTree = "<group>"; };
+               5C9D82911798B1A1007E1588 /* ExpressionParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExpressionParser.cpp; sourceTree = "<group>"; };
+               5C9D82921798B1A1007E1588 /* glslang_lex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_lex.cpp; sourceTree = "<group>"; };
+               5C9D82931798B1A1007E1588 /* glslang_tab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_tab.cpp; sourceTree = "<group>"; };
+               5C9D82941798B1A1007E1588 /* glslang_tab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang_tab.h; sourceTree = "<group>"; };
+               5C9D82951798B1A1007E1588 /* Tokenizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tokenizer.cpp; sourceTree = "<group>"; };
                5CCEB8B417908E3A00FD9496 /* builtin_symbol_table.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = builtin_symbol_table.cpp; sourceTree = "<group>"; };
                5CCEB8B517908E3A00FD9496 /* builtin_symbol_table.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = builtin_symbol_table.h; sourceTree = "<group>"; };
                5D7C59C51208C68B001C873E /* ANGLE.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ANGLE.xcconfig; sourceTree = "<group>"; };
                5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
                90D9B0F912E11DCB002D4255 /* Compiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Compiler.cpp; sourceTree = "<group>"; };
                90D9B0FA12E11DCB002D4255 /* ExtensionBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtensionBehavior.h; sourceTree = "<group>"; };
-               90D9B0FB12E11DCB002D4255 /* glslang_lex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_lex.cpp; sourceTree = "<group>"; };
-               90D9B0FC12E11DCB002D4255 /* glslang_tab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_tab.cpp; sourceTree = "<group>"; };
-               90D9B0FD12E11DCB002D4255 /* glslang_tab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang_tab.h; sourceTree = "<group>"; };
                90D9B0FE12E11DCB002D4255 /* glslang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang.h; sourceTree = "<group>"; };
                90D9B10012E11DCB002D4255 /* SearchSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SearchSymbol.cpp; sourceTree = "<group>"; };
                90D9B10112E11DCB002D4255 /* SearchSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchSymbol.h; sourceTree = "<group>"; };
                A264F89616974DED006FAA5A /* DirectiveHandlerBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectiveHandlerBase.h; sourceTree = "<group>"; };
                A264F89716974DED006FAA5A /* DirectiveParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectiveParser.cpp; sourceTree = "<group>"; };
                A264F89816974DED006FAA5A /* DirectiveParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectiveParser.h; sourceTree = "<group>"; };
-               A264F89916974DED006FAA5A /* ExpressionParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExpressionParser.cpp; sourceTree = "<group>"; };
                A264F89A16974DED006FAA5A /* ExpressionParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExpressionParser.h; sourceTree = "<group>"; };
                A264F89B16974DED006FAA5A /* Input.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Input.cpp; sourceTree = "<group>"; };
                A264F89C16974DED006FAA5A /* Input.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Input.h; sourceTree = "<group>"; };
                A264F8A716974DED006FAA5A /* SourceLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceLocation.h; sourceTree = "<group>"; };
                A264F8A816974DED006FAA5A /* Token.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Token.cpp; sourceTree = "<group>"; };
                A264F8A916974DED006FAA5A /* Token.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Token.h; sourceTree = "<group>"; };
-               A264F8AA16974DED006FAA5A /* Tokenizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tokenizer.cpp; sourceTree = "<group>"; };
                A264F8AB16974DED006FAA5A /* Tokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tokenizer.h; sourceTree = "<group>"; };
                A264F8C516974E2A006FAA5A /* HashNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashNames.h; sourceTree = "<group>"; };
                A264F8C616974E2A006FAA5A /* VariablePacker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VariablePacker.cpp; sourceTree = "<group>"; };
                        name = misc;
                        sourceTree = "<group>";
                };
+               5C9D82901798B173007E1588 /* Derived Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               5C9D82911798B1A1007E1588 /* ExpressionParser.cpp */,
+                               5C9D82921798B1A1007E1588 /* glslang_lex.cpp */,
+                               5C9D82931798B1A1007E1588 /* glslang_tab.cpp */,
+                               5C9D82941798B1A1007E1588 /* glslang_tab.h */,
+                               5C9D82951798B1A1007E1588 /* Tokenizer.cpp */,
+                       );
+                       name = "Derived Sources";
+                       path = DerivedSources/ANGLE;
+                       sourceTree = BUILT_PRODUCTS_DIR;
+               };
                5D7C59C41208C68B001C873E /* Configurations */ = {
                        isa = PBXGroup;
                        children = (
                FB39D06E1200ED9200088E69 = {
                        isa = PBXGroup;
                        children = (
+                               5C9D82901798B173007E1588 /* Derived Sources */,
                                5D7C59C41208C68B001C873E /* Configurations */,
                                A29B15E916978B7D00111D97 /* include */,
                                312BDB0715FEC8E60097EBC7 /* misc */,
                                A0AABE2A13AFE81000F2EBD1 /* ForLoopUnroll.cpp */,
                                A0AABE2B13AFE81000F2EBD1 /* ForLoopUnroll.h */,
                                90D9B0FE12E11DCB002D4255 /* glslang.h */,
-                               90D9B0FB12E11DCB002D4255 /* glslang_lex.cpp */,
-                               90D9B0FC12E11DCB002D4255 /* glslang_tab.cpp */,
-                               90D9B0FD12E11DCB002D4255 /* glslang_tab.h */,
                                A264F8C516974E2A006FAA5A /* HashNames.h */,
                                FB39D22A1200F35A00088E69 /* InfoSink.cpp */,
                                FB39D22B1200F35A00088E69 /* InfoSink.h */,
                                A264F89616974DED006FAA5A /* DirectiveHandlerBase.h */,
                                A264F89716974DED006FAA5A /* DirectiveParser.cpp */,
                                A264F89816974DED006FAA5A /* DirectiveParser.h */,
-                               A264F89916974DED006FAA5A /* ExpressionParser.cpp */,
                                A264F89A16974DED006FAA5A /* ExpressionParser.h */,
                                A264F89B16974DED006FAA5A /* Input.cpp */,
                                A264F89C16974DED006FAA5A /* Input.h */,
                                A264F8A716974DED006FAA5A /* SourceLocation.h */,
                                A264F8A816974DED006FAA5A /* Token.cpp */,
                                A264F8A916974DED006FAA5A /* Token.h */,
-                               A264F8AA16974DED006FAA5A /* Tokenizer.cpp */,
                                A264F8AB16974DED006FAA5A /* Tokenizer.h */,
                        );
                        path = preprocessor;
                                90D9B10312E11DCB002D4255 /* ExtensionBehavior.h in Headers */,
                                A0AABE2D13AFE81000F2EBD1 /* ForLoopUnroll.h in Headers */,
                                90D9B10712E11DCB002D4255 /* glslang.h in Headers */,
-                               90D9B10612E11DCB002D4255 /* glslang_tab.h in Headers */,
                                A264F8C816974E2A006FAA5A /* HashNames.h in Headers */,
                                A264F8B516974DED006FAA5A /* Input.h in Headers */,
                                A264F8CD169762AA006FAA5A /* khrplatform.h in Headers */,
                                90D9B11812E11DD6002D4255 /* VariableInfo.h in Headers */,
                                A264F8CA16974E2A006FAA5A /* VariablePacker.h in Headers */,
                                90D9B11A12E11DD6002D4255 /* VersionGLSL.h in Headers */,
+                               5C9D82991798B1A1007E1588 /* glslang_tab.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        buildRules = (
                        );
                        dependencies = (
+                               5C9D82A21798B1E6007E1588 /* PBXTargetDependency */,
                        );
                        name = ANGLE;
                        productName = angle;
                        projectRoot = "";
                        targets = (
                                FB39D0D01200F0E300088E69 /* ANGLE */,
+                               5C9D829B1798B1CD007E1588 /* Derived Sources */,
                        );
                };
 /* End PBXProject section */
 
+/* Begin PBXShellScriptBuildPhase section */
+               5C9D82A01798B1D6007E1588 /* ShellScript */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/ANGLE\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/ANGLE\"\n\n/bin/ln -sfh \"${SRCROOT}\" .\nexport ANGLE=\"ANGLE\"\n\nmake  --no-builtin-rules -f \"ANGLE/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.availcpu`";
+               };
+/* End PBXShellScriptBuildPhase section */
+
 /* Begin PBXSourcesBuildPhase section */
                FB39D0CE1200F0E300088E69 /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                                A26567BD159C21B100398539 /* DirectiveHandler.cpp in Sources */,
                                A264F8AE16974DED006FAA5A /* DirectiveHandlerBase.cpp in Sources */,
                                A264F8B016974DED006FAA5A /* DirectiveParser.cpp in Sources */,
-                               A264F8B216974DED006FAA5A /* ExpressionParser.cpp in Sources */,
                                A0AABE2C13AFE81000F2EBD1 /* ForLoopUnroll.cpp in Sources */,
-                               90D9B10412E11DCB002D4255 /* glslang_lex.cpp in Sources */,
-                               90D9B10512E11DCB002D4255 /* glslang_tab.cpp in Sources */,
                                FB39D2791200F35A00088E69 /* InfoSink.cpp in Sources */,
                                FB39D27B1200F35A00088E69 /* Initialize.cpp in Sources */,
                                FB39D27D1200F35A00088E69 /* InitializeDll.cpp in Sources */,
                                FB39D2A81200F35A00088E69 /* ShaderLang.cpp in Sources */,
                                FB39D2AA1200F35A00088E69 /* SymbolTable.cpp in Sources */,
                                A264F8C116974DED006FAA5A /* Token.cpp in Sources */,
-                               A264F8C316974DED006FAA5A /* Tokenizer.cpp in Sources */,
                                A0AABE4813AFE96100F2EBD1 /* TranslatorESSL.cpp in Sources */,
                                FB39D2AC1200F35A00088E69 /* TranslatorGLSL.cpp in Sources */,
                                90D9B11312E11DD6002D4255 /* util.cpp in Sources */,
                                90D9B11712E11DD6002D4255 /* VariableInfo.cpp in Sources */,
                                A264F8C916974E2A006FAA5A /* VariablePacker.cpp in Sources */,
                                90D9B11912E11DD6002D4255 /* VersionGLSL.cpp in Sources */,
+                               5C9D82961798B1A1007E1588 /* ExpressionParser.cpp in Sources */,
+                               5C9D82971798B1A1007E1588 /* glslang_lex.cpp in Sources */,
+                               5C9D82981798B1A1007E1588 /* glslang_tab.cpp in Sources */,
+                               5C9D829A1798B1A1007E1588 /* Tokenizer.cpp in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+               5C9D82A21798B1E6007E1588 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 5C9D829B1798B1CD007E1588 /* Derived Sources */;
+                       targetProxy = 5C9D82A11798B1E6007E1588 /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
 /* Begin XCBuildConfiguration section */
+               5C9D829D1798B1CE007E1588 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = "$(TARGET_NAME)";
+                       };
+                       name = Debug;
+               };
+               5C9D829E1798B1CE007E1588 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = "$(TARGET_NAME)";
+                       };
+                       name = Release;
+               };
+               5C9D829F1798B1CE007E1588 /* Production */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = "$(TARGET_NAME)";
+                       };
+                       name = Production;
+               };
                5D7C59DB1208C6C3001C873E /* Production */ = {
                        isa = XCBuildConfiguration;
                        baseConfigurationReference = 5D7C59C61208C68B001C873E /* Base.xcconfig */;
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
+               5C9D829C1798B1CE007E1588 /* Build configuration list for PBXAggregateTarget "Derived Sources" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               5C9D829D1798B1CE007E1588 /* Debug */,
+                               5C9D829E1798B1CE007E1588 /* Release */,
+                               5C9D829F1798B1CE007E1588 /* Production */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Production;
+               };
                FB39D0731200ED9200088E69 /* Build configuration list for PBXProject "ANGLE" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (
index ce4ab286877f89269278dea10983f09467831648..7900ba3e5b62f2446d24b0a4653e6fc9dd48eb9a 100644 (file)
@@ -1,3 +1,14 @@
+2013-07-19  Alex Christensen  <achristensen@apple.com>
+
+        Generate derived files in ANGLE at build time rather than when updating from upstream.
+        https://bugs.webkit.org/show_bug.cgi?id=118872
+
+        Reviewed by Mark Rowe.
+
+        * ANGLE.xcodeproj/project.pbxproj: Made Derived Sources target which calls DerivedSources.make,
+        moved generated files into Derived Sources group.
+        * DerivedSources.make: Added.
+
 2013-07-18  Alex Christensen  <achristensen@apple.com>
 
         Added previously unincluded files from ANGLE r2426 with these exceptions:
diff --git a/Source/ThirdParty/ANGLE/DerivedSources.make b/Source/ThirdParty/ANGLE/DerivedSources.make
new file mode 100644 (file)
index 0000000..85d6e5b
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright (C) 2013 Apple Inc. All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+# 
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+SEARCH_PATH = $(ANGLE)/src/compiler $(ANGLE)/src/compiler/preprocessor
+
+vpath %.l $(SEARCH_PATH)
+vpath %.y $(SEARCH_PATH)
+
+FLEX = flex --noline --nounistd
+BISON = bison --no-lines --skeleton=yacc.c
+
+all : glslang_lex.cpp glslang_tab.h glslang_tab.cpp ExpressionParser.cpp Tokenizer.cpp
+
+glslang_tab%h glslang_tab%cpp : glslang.y
+       $(eval OUTPUT = $(basename $@))
+       $(BISON) --defines=$(OUTPUT).h --output=$(OUTPUT).cpp $<
+
+ExpressionParser.cpp : ExpressionParser.y
+       $(BISON) --output=$@ $<
+
+glslang_lex.cpp : glslang.l
+       $(FLEX) --outfile=$@ $<
+
+Tokenizer.cpp : Tokenizer.l
+       $(FLEX) --outfile=$@ $<