|
1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- |
|
2 # vim: set filetype=python: |
|
3 # This Source Code Form is subject to the terms of the Mozilla Public |
|
4 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
6 |
|
7 # Target: 'preprocessor' |
|
8 # src/compiler/preprocessor: |
|
9 SOURCES += ['../compiler/preprocessor/' + src for src in [ |
|
10 'DiagnosticsBase.cpp', |
|
11 'DirectiveHandlerBase.cpp', |
|
12 'DirectiveParser.cpp', |
|
13 'ExpressionParser.cpp', |
|
14 'Input.cpp', |
|
15 'Lexer.cpp', |
|
16 'Macro.cpp', |
|
17 'MacroExpander.cpp', |
|
18 'Preprocessor.cpp', |
|
19 'Token.cpp', |
|
20 'Tokenizer.cpp', |
|
21 ]] |
|
22 |
|
23 # Target: 'translator_common' |
|
24 # Requires: 'preprocessor' |
|
25 # src/compiler: |
|
26 SOURCES += ['../compiler/' + src for src in [ |
|
27 'BuiltInFunctionEmulator.cpp', |
|
28 'Compiler.cpp', |
|
29 'compiler_debug.cpp', |
|
30 'CompilerUniform.cpp', |
|
31 'DetectCallDepth.cpp', |
|
32 'Diagnostics.cpp', |
|
33 'DirectiveHandler.cpp', |
|
34 'ForLoopUnroll.cpp', |
|
35 'glslang_lex.cpp', |
|
36 'glslang_tab.cpp', |
|
37 'InfoSink.cpp', |
|
38 'Initialize.cpp', |
|
39 'InitializeDll.cpp', |
|
40 'InitializeParseContext.cpp', |
|
41 'Intermediate.cpp', |
|
42 'intermOut.cpp', |
|
43 'IntermTraverse.cpp', |
|
44 'MapLongVariableNames.cpp', |
|
45 'parseConst.cpp', |
|
46 'ParseHelper.cpp', |
|
47 'PoolAlloc.cpp', |
|
48 'QualifierAlive.cpp', |
|
49 'RemoveTree.cpp', |
|
50 'SymbolTable.cpp', |
|
51 'util.cpp', |
|
52 'ValidateLimitations.cpp', |
|
53 'VariableInfo.cpp', |
|
54 'VariablePacker.cpp', |
|
55 ]] |
|
56 |
|
57 # src/compiler/depgraph: |
|
58 SOURCES += ['../compiler/depgraph/' + src for src in [ |
|
59 'DependencyGraph.cpp', |
|
60 'DependencyGraphBuilder.cpp', |
|
61 'DependencyGraphOutput.cpp', |
|
62 'DependencyGraphTraverse.cpp', |
|
63 ]] |
|
64 |
|
65 # src/compiler/timing: |
|
66 SOURCES += ['../compiler/timing/' + src for src in [ |
|
67 'RestrictFragmentShaderTiming.cpp', |
|
68 'RestrictVertexShaderTiming.cpp', |
|
69 ]] |
|
70 |
|
71 # src/third_party/compiler: |
|
72 SOURCES += ['../third_party/compiler/' + src for src in [ |
|
73 'ArrayBoundsClamper.cpp', |
|
74 ]] |
|
75 |
|
76 # src/third_party/murmurhash: |
|
77 SOURCES += ['../third_party/murmurhash/' + src for src in [ |
|
78 'MurmurHash3.cpp', |
|
79 ]] |
|
80 |
|
81 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': |
|
82 SOURCES += [ |
|
83 '../compiler/ossource_win.cpp', |
|
84 ] |
|
85 else: |
|
86 SOURCES += [ |
|
87 '../compiler/ossource_posix.cpp', |
|
88 ] |
|
89 |
|
90 # Target: 'translator_hlsl' |
|
91 # Requires: 'translator_common' |
|
92 # src/compiler: |
|
93 SOURCES += ['../compiler/' + src for src in [ |
|
94 'CodeGenHLSL.cpp', |
|
95 'DetectDiscontinuity.cpp', |
|
96 'OutputHLSL.cpp', |
|
97 'SearchSymbol.cpp', |
|
98 'ShaderLang.cpp', |
|
99 'TranslatorHLSL.cpp', |
|
100 'UnfoldShortCircuit.cpp', |
|
101 ]] |
|
102 |
|
103 # Target: 'libGLESv2' |
|
104 # Requires: 'translator_hlsl' |
|
105 # src/common: |
|
106 SOURCES += ['../common/' + src for src in [ |
|
107 'debug.cpp', |
|
108 'RefCountObject.cpp', |
|
109 ]] |
|
110 |
|
111 # src/libGLESv2: |
|
112 SOURCES += [ |
|
113 'Buffer.cpp', |
|
114 'Context.cpp', |
|
115 'Fence.cpp', |
|
116 'Float16ToFloat32.cpp', |
|
117 'Framebuffer.cpp', |
|
118 'HandleAllocator.cpp', |
|
119 'libGLESv2.cpp', |
|
120 'main.cpp', |
|
121 'precompiled.cpp', |
|
122 'Program.cpp', |
|
123 'ProgramBinary.cpp', |
|
124 'Query.cpp', |
|
125 'Renderbuffer.cpp', |
|
126 'ResourceManager.cpp', |
|
127 'Shader.cpp', |
|
128 'Texture.cpp', |
|
129 'Uniform.cpp', |
|
130 'utilities.cpp', |
|
131 ] |
|
132 |
|
133 # src/libGLESv2/renderer: |
|
134 SOURCES += ['renderer/' + src for src in [ |
|
135 'Blit.cpp', |
|
136 'BufferStorage.cpp', |
|
137 'BufferStorage11.cpp', |
|
138 'BufferStorage9.cpp', |
|
139 'Fence11.cpp', |
|
140 'Fence9.cpp', |
|
141 'Image.cpp', |
|
142 'Image11.cpp', |
|
143 'Image9.cpp', |
|
144 'ImageSSE2.cpp', |
|
145 'IndexBuffer.cpp', |
|
146 'IndexBuffer11.cpp', |
|
147 'IndexBuffer9.cpp', |
|
148 'IndexDataManager.cpp', |
|
149 'IndexRangeCache.cpp', |
|
150 'InputLayoutCache.cpp', |
|
151 'Query11.cpp', |
|
152 'Query9.cpp', |
|
153 'Renderer.cpp', |
|
154 'Renderer11.cpp', |
|
155 'renderer11_utils.cpp', |
|
156 'Renderer9.cpp', |
|
157 'renderer9_utils.cpp', |
|
158 'RenderStateCache.cpp', |
|
159 'RenderTarget11.cpp', |
|
160 'RenderTarget9.cpp', |
|
161 'ShaderExecutable11.cpp', |
|
162 'ShaderExecutable9.cpp', |
|
163 'SwapChain11.cpp', |
|
164 'SwapChain9.cpp', |
|
165 'TextureStorage.cpp', |
|
166 'TextureStorage11.cpp', |
|
167 'TextureStorage9.cpp', |
|
168 'VertexBuffer.cpp', |
|
169 'VertexBuffer11.cpp', |
|
170 'VertexBuffer9.cpp', |
|
171 'VertexDataManager.cpp', |
|
172 'VertexDeclarationCache.cpp', |
|
173 ]] |
|
174 |
|
175 SOURCES['renderer/ImageSSE2.cpp'].flags += CONFIG['SSE2_FLAGS'] |
|
176 |
|
177 # On Windows, we don't automatically get "lib" prepended, but we need it. |
|
178 LIBRARY_NAME = 'libGLESv2' |
|
179 |
|
180 FORCE_SHARED_LIB = True |
|
181 |
|
182 LOCAL_INCLUDES += [ |
|
183 '..', |
|
184 '../../include', |
|
185 '../../include/KHR', |
|
186 ] |
|
187 |
|
188 |
|
189 for var in ('LIBGLESV2_EXPORTS', 'ANGLE_BUILD', 'NOMINMAX', |
|
190 '_CRT_SECURE_NO_DEPRECATE', 'ANGLE_DISABLE_TRACE', |
|
191 'COMPILER_IMPLEMENTATION'): |
|
192 DEFINES[var] = True |
|
193 |
|
194 if not CONFIG['MOZ_DEBUG']: |
|
195 DEFINES['_SECURE_SCL'] = 0 |
|
196 |
|
197 DEFINES['ANGLE_COMPILE_OPTIMIZATION_LEVEL'] = 'D3DCOMPILE_OPTIMIZATION_LEVEL1' |
|
198 |
|
199 RCFILE = SRCDIR + '/libGLESv2.rc' |
|
200 DEFFILE = SRCDIR + '/libGLESv2.def' |
|
201 |
|
202 # ANGLE uses the STL, so we can't use our derpy STL wrappers. |
|
203 DISABLE_STL_WRAPPING = True |