OLD | NEW |
---|---|
1 # Copyright 2016 Google Inc. | 1 # Copyright 2016 Google Inc. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 # Builds shaderc for the Vulkan backend | 6 # Builds shaderc for the Vulkan backend |
7 { | 7 { |
8 'variables': { | 8 'targets': [ |
bungeman-skia
2016/06/10 15:48:56
Generally we use two space indents in gyp files. K
kjlubick
2016/06/10 17:37:53
Done.
| |
9 'variables': { # This is the dreaded nested variables dict so that we can | 9 { |
10 # have dependent variables | 10 'target_name': 'shaderc_combined', |
11 'shaderc_build_configuration': '<(CONFIGURATION_NAME)', | 11 'type': 'static_library', |
12 'conditions': [ | 12 'dependencies': [ |
13 [ 'skia_os == "win"', { | 13 'libshaderc', |
14 'shaderc_lib_name' : 'shaderc_combined.lib', | 14 'libshaderc_util', |
15 }, { | 15 'liboglcompiler', |
16 'shaderc_lib_name' : 'libshaderc_combined.a', | 16 'libspirv', |
17 }], | 17 'libglslangosdependent', |
18 [ 'skia_os == "win"', { | 18 'libglslang', |
19 'conditions': [ | 19 ], |
20 [ 'MSVS_VERSION == "2013"', { | 20 'defines': [], |
bungeman-skia
2016/06/10 15:48:56
I would remove all of these properties with empty
kjlubick
2016/06/10 17:37:53
Done.
| |
21 'shaderc_project_type' : 'MSVS2013', | 21 }, |
22 }], | 22 { |
23 [ 'MSVS_VERSION == "2015"', { | 23 'target_name': 'libshaderc', |
24 'shaderc_project_type' : 'MSVS2015', | 24 'type': 'static_library', |
25 }], | 25 'dependencies': [], |
26 ], | 26 'defines': [], |
27 }, { | 27 'cflags': [ |
28 'shaderc_project_type' : 'ninja', | 28 '-w', |
29 }], | 29 ], |
bungeman-skia
2016/06/10 15:48:56
This line and the one above should be un-indented
kjlubick
2016/06/10 17:37:53
Done.
| |
30 ], | 30 'xcode_settings': { |
31 'shaderc_out_path': '<(PRODUCT_DIR)/shaderc_out_<(skia_arch_type)', | 31 'WARNING_CFLAGS': [ |
32 }, | 32 '-w' |
33 # Export out of nested variables. | 33 ], |
34 'shaderc_build_configuration': '<(shaderc_build_configuration)', | 34 }, |
35 'shaderc_project_type': '<(shaderc_project_type)', | 35 'msvs_settings': { |
36 'shaderc_out_path': '<(shaderc_out_path)', | 36 'VCCLCompilerTool': { |
37 'shaderc_lib_name': '<(shaderc_lib_name)', | 37 'AdditionalOptions': [ |
38 'android_toolchain%': '', | 38 |
39 | 39 ], |
40 # On Windows the library winds up inside a 'Debug' or 'Release' dir, not so | 40 }, |
41 # with ninja project build. | 41 }, |
bungeman-skia
2016/06/10 15:48:56
Should be able to just remove this whole block.
kjlubick
2016/06/10 17:37:53
Done.
| |
42 'conditions': [ | 42 'include_dirs': [ |
43 [ 'skia_os == "win"', { | 43 '../third_party/externals/shaderc2/libshaderc/include', |
44 'shaderc_lib_full_path': '<(shaderc_out_path)/libshaderc/<(shaderc_build _configuration)/<(shaderc_lib_name)', | 44 '../third_party/externals/shaderc2/libshaderc_util/include', |
45 }, { | 45 '../third_party/externals/shaderc2/third_party/glslang', |
46 'shaderc_lib_full_path': '<(shaderc_out_path)/libshaderc/<(shaderc_lib_n ame)', | 46 ], |
47 }], | 47 'sources': [ |
48 ] | 48 '../third_party/externals/shaderc2/libshaderc/include/shaderc/shaderc. hpp', |
49 }, | 49 '../third_party/externals/shaderc2/libshaderc/src/shaderc.cc', |
50 'targets': [ | 50 ], |
51 { | 51 }, |
52 # Call out to a python script to build shaderc_combined and then copy it | 52 { |
53 # to out/<Configuration> | 53 'target_name': 'libshaderc_util', |
54 'target_name': 'shaderc_combined', | 54 'type': 'static_library', |
55 'type': 'none', | 55 'dependencies': [ |
56 'actions': [ | 56 'libspirvtools' |
57 { | 57 ], |
58 'action_name': 'compile_shaderc', | 58 'defines': [], |
59 'inputs': [ | 59 'cflags': [ |
60 '<!@(python find.py ../third_party/externals/shaderc2 "*")', | 60 '-w', |
61 '../tools/build_shaderc.py', | 61 ], |
62 ], | 62 'xcode_settings': { |
63 'outputs': [ | 63 'WARNING_CFLAGS': [ |
64 '<(shaderc_lib_full_path)', | 64 '-w' |
65 ], | 65 ], |
66 'action': ['python', '../tools/build_shaderc.py', '-s', '../third_part y/externals/shaderc2', '-o', '<(shaderc_out_path)', '-a', '<(skia_arch_type)', ' -t', '<(shaderc_build_configuration)', '-p', '<(shaderc_project_type)', '-c', '< (android_toolchain)'], | 66 }, |
67 }, | 67 'msvs_settings': { |
68 ], | 68 'VCCLCompilerTool': { |
69 'copies': [ | 69 'AdditionalOptions': [ |
70 { | 70 |
71 'destination': '<(PRODUCT_DIR)', | 71 ], |
72 'files': ['<(shaderc_lib_full_path)'], | 72 }, |
73 }, | 73 }, |
74 ], | 74 'include_dirs': [ |
75 'all_dependent_settings': { | 75 '../third_party/externals/shaderc2/libshaderc_util/include', |
76 'link_settings': { | 76 '../third_party/externals/shaderc2/third_party/glslang', |
77 'libraries': [ | 77 '../third_party/externals/shaderc2/third_party/spirv-tools/include', |
78 '<(shaderc_lib_name)', | 78 ], |
79 ], | 79 'sources': [ |
80 }, | 80 '../third_party/externals/shaderc2/libshaderc_util/src/compiler.cc', |
81 }, | 81 '../third_party/externals/shaderc2/libshaderc_util/src/file_finder.cc' , |
82 }, | 82 '../third_party/externals/shaderc2/libshaderc_util/src/io.cc', |
83 ], | 83 '../third_party/externals/shaderc2/libshaderc_util/src/message.cc', |
84 '../third_party/externals/shaderc2/libshaderc_util/src/resources.cc', | |
85 '../third_party/externals/shaderc2/libshaderc_util/src/shader_stage.cc ', | |
86 '../third_party/externals/shaderc2/libshaderc_util/src/version_profile .cc', | |
87 ], | |
88 }, | |
89 { | |
90 'target_name': 'libspirv', | |
91 'type': 'static_library', | |
92 'dependencies': [], | |
93 'defines': [], | |
94 'cflags': [ | |
95 '-w', | |
96 ], | |
97 'xcode_settings': { | |
98 'WARNING_CFLAGS': [ | |
99 '-w' | |
100 ], | |
101 }, | |
102 'msvs_settings': { | |
103 'VCCLCompilerTool': { | |
104 'AdditionalOptions': [ | |
105 | |
106 ], | |
107 }, | |
108 }, | |
109 'include_dirs': [ | |
110 '../third_party/externals/shaderc2/third_party/glslang', | |
111 ], | |
112 'sources': [ | |
113 '../third_party/externals/shaderc2/third_party/glslang/SPIRV/GlslangTo Spv.cpp', | |
114 '../third_party/externals/shaderc2/third_party/glslang/SPIRV/InReadabl eOrder.cpp', | |
115 '../third_party/externals/shaderc2/third_party/glslang/SPIRV/SpvBuilde r.cpp', | |
116 '../third_party/externals/shaderc2/third_party/glslang/SPIRV/SPVRemapp er.cpp', | |
117 '../third_party/externals/shaderc2/third_party/glslang/SPIRV/doc.cpp', | |
118 '../third_party/externals/shaderc2/third_party/glslang/SPIRV/disassemb le.cpp', | |
119 ], | |
120 }, | |
121 { | |
122 'target_name': 'liboglcompiler', | |
123 'type': 'static_library', | |
124 'dependencies': [], | |
125 'defines': [], | |
126 'cflags': [ | |
127 '-w', | |
128 ], | |
129 'xcode_settings': { | |
130 'WARNING_CFLAGS': [ | |
131 '-w' | |
132 ], | |
133 }, | |
134 'msvs_settings': { | |
135 'VCCLCompilerTool': { | |
136 'AdditionalOptions': [ | |
137 | |
138 ], | |
139 }, | |
140 }, | |
141 'include_dirs': [ | |
142 '../third_party/externals/shaderc2/third_party/glslang/OGLCompilersDLL ', | |
143 ], | |
144 'sources': [ | |
145 '../third_party/externals/shaderc2/third_party/glslang/OGLCompilersDLL /InitializeDll.cpp', | |
146 ], | |
147 }, | |
148 { | |
149 'target_name': 'libglslangosdependent', | |
150 'type': 'static_library', | |
151 'dependencies': [], | |
152 'defines': [], | |
153 'cflags': [ | |
154 '-w', | |
155 ], | |
156 'xcode_settings': { | |
157 'WARNING_CFLAGS': [ | |
158 '-w' | |
159 ], | |
160 }, | |
161 'msvs_settings': { | |
162 'VCCLCompilerTool': { | |
163 'AdditionalOptions': [ | |
164 | |
165 ], | |
166 }, | |
167 }, | |
168 'conditions': [ | |
169 ['skia_os == "win"', { | |
170 'include_dirs': [ | |
171 '../third_party/externals/shaderc2/third_party/glslang/glslang/O SDependent/Windows', | |
172 ], | |
173 'sources': [ | |
174 '../third_party/externals/shaderc2/third_party/glslang/glslang/O SDependent/Windows/ossource.cpp', | |
175 ], | |
176 }, { | |
bungeman-skia
2016/06/10 15:48:56
We normally would un-indent this two spaces (and t
kjlubick
2016/06/10 17:37:53
Done.
| |
177 'include_dirs': [ | |
178 '../third_party/externals/shaderc2/third_party/glslang/glslang/O SDependent/Unix', | |
179 ], | |
180 'sources': [ | |
181 '../third_party/externals/shaderc2/third_party/glslang/glslang/O SDependent/Unix/ossource.cpp', | |
182 ], | |
183 }], | |
184 ], | |
185 }, | |
186 { | |
187 'target_name': 'libglslang', | |
188 'type': 'static_library', | |
189 'dependencies': [], | |
190 'defines': [], | |
191 'cflags': [ | |
192 '-w', | |
193 ], | |
194 'xcode_settings': { | |
195 'WARNING_CFLAGS': [ | |
196 '-w' | |
197 ], | |
198 }, | |
199 'msvs_settings': { | |
200 'VCCLCompilerTool': { | |
201 'AdditionalOptions': [ | |
202 '/wd4800', | |
203 '/wd4005', | |
204 '/wd4189', | |
205 ], | |
206 }, | |
207 }, | |
208 'include_dirs': [ | |
209 '../third_party/externals/shaderc2/third_party/glslang/glslang/Include ', | |
210 ], | |
211 'sources': [ | |
212 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/glslang.y', | |
213 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/glslang_tab.cpp', | |
214 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/Constant.cpp', | |
215 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/InfoSink.cpp', | |
216 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/Initialize.cpp', | |
217 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/IntermTraverse.cpp', | |
218 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/Intermediate.cpp', | |
219 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/ParseHelper.cpp', | |
220 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/PoolAlloc.cpp', | |
221 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/RemoveTree.cpp', | |
222 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/Scan.cpp', | |
223 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/ShaderLang.cpp', | |
224 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/SymbolTable.cpp', | |
225 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/Versions.cpp', | |
226 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/intermOut.cpp', | |
227 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/limits.cpp', | |
228 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/linkValidate.cpp', | |
229 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/parseConst.cpp', | |
230 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/reflection.cpp', | |
231 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/preprocessor/Pp.cpp', | |
232 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/preprocessor/PpAtom.cpp', | |
233 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/preprocessor/PpContext.cpp', | |
234 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/preprocessor/PpMemory.cpp', | |
235 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/preprocessor/PpScanner.cpp', | |
236 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/preprocessor/PpSymbols.cpp', | |
237 '../third_party/externals/shaderc2/third_party/glslang/glslang/Mac hineIndependent/preprocessor/PpTokens.cpp', | |
238 '../third_party/externals/shaderc2/third_party/glslang/glslang/Gen ericCodeGen/CodeGen.cpp', | |
239 '../third_party/externals/shaderc2/third_party/glslang/glslang/Gen ericCodeGen/Link.cpp', | |
240 '../third_party/externals/shaderc2/third_party/glslang/hlsl/hlslPa rseHelper.cpp', | |
241 '../third_party/externals/shaderc2/third_party/glslang/hlsl/hlslSc anContext.cpp', | |
242 '../third_party/externals/shaderc2/third_party/glslang/hlsl/hlslGr ammar.cpp', | |
243 ], | |
244 }, | |
245 { | |
246 'target_name': 'libspirvtools', | |
247 'type': 'static_library', | |
248 'dependencies': [ | |
249 'genspirvtools', | |
250 ], | |
251 'defines': [], | |
252 'cflags': [ | |
253 '-w', | |
254 ], | |
255 'xcode_settings': { | |
256 'WARNING_CFLAGS': [ | |
257 '-w' | |
258 ], | |
259 }, | |
260 'msvs_settings': { | |
261 'VCCLCompilerTool': { | |
262 'AdditionalOptions': [ | |
263 '/wd4800', | |
264 ], | |
265 }, | |
266 }, | |
267 'include_dirs': [ | |
268 '../third_party/externals/shaderc2/third_party/spirv-tools/include', | |
269 '../third_party/externals/shaderc2/third_party/spirv-tools/source', | |
270 ], | |
271 'sources': [ | |
272 '../third_party/externals/shaderc2/third_party/spirv-tools/source/asse mbly_grammar.cpp', | |
273 '../third_party/externals/shaderc2/third_party/spirv-tools/source/bina ry.cpp', | |
274 '../third_party/externals/shaderc2/third_party/spirv-tools/source/diag nostic.cpp', | |
275 '../third_party/externals/shaderc2/third_party/spirv-tools/source/disa ssemble.cpp', | |
276 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ext_ inst.cpp', | |
277 '../third_party/externals/shaderc2/third_party/spirv-tools/source/inst ruction.cpp', | |
278 '../third_party/externals/shaderc2/third_party/spirv-tools/source/opco de.cpp', | |
279 '../third_party/externals/shaderc2/third_party/spirv-tools/source/oper and.cpp', | |
280 '../third_party/externals/shaderc2/third_party/spirv-tools/source/prin t.cpp', | |
281 '../third_party/externals/shaderc2/third_party/spirv-tools/source/spir v_endian.cpp', | |
282 '../third_party/externals/shaderc2/third_party/spirv-tools/source/spir v_target_env.cpp', | |
283 '../third_party/externals/shaderc2/third_party/spirv-tools/source/tabl e.cpp', | |
284 '../third_party/externals/shaderc2/third_party/spirv-tools/source/text .cpp', | |
285 '../third_party/externals/shaderc2/third_party/spirv-tools/source/text _handler.cpp', | |
286 '../third_party/externals/shaderc2/third_party/spirv-tools/source/vali date.cpp', | |
287 '../third_party/externals/shaderc2/third_party/spirv-tools/source/vali date_cfg.cpp', | |
288 '../third_party/externals/shaderc2/third_party/spirv-tools/source/vali date_id.cpp', | |
289 '../third_party/externals/shaderc2/third_party/spirv-tools/source/vali date_instruction.cpp', | |
290 '../third_party/externals/shaderc2/third_party/spirv-tools/source/vali date_layout.cpp', | |
291 '../third_party/externals/shaderc2/third_party/spirv-tools/source/vali date_ssa.cpp', | |
292 '../third_party/externals/shaderc2/third_party/spirv-tools/source/vali date_types.cpp', | |
293 ], | |
294 }, | |
295 { | |
296 'target_name': 'genspirvtools', | |
297 'type': 'none', | |
298 'actions': [ | |
bungeman-skia
2016/06/10 15:48:56
It's annoying that these actions almost look like
| |
299 { | |
300 'action_name': 'produce_glsl-1-0', | |
301 'inputs': [ | |
302 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
303 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-0.core.grammar.json', | |
304 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ extinst-1-0.glsl.std.450.grammar.json', | |
305 ], | |
306 'outputs': [ | |
307 '../third_party/externals/shaderc2/third_party/spirv-tools/source /glsl.std.450.insts-1-0.inc', | |
308 ], | |
309 'action': [ | |
310 'python', | |
311 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
312 '--spirv-core-grammar', | |
313 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-0.core.grammar.json', | |
314 '--extinst-glsl-grammar', | |
315 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ extinst-1-0.glsl.std.450.grammar.json', | |
316 '--glsl-insts-output', | |
317 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ glsl.std.450.insts-1-0.inc', | |
318 ], | |
319 }, | |
320 { | |
321 'action_name': 'produce_core_operand-1-0', | |
322 'inputs': [ | |
323 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
324 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-0.core.grammar.json', | |
325 ], | |
326 'outputs': [ | |
327 '../third_party/externals/shaderc2/third_party/spirv-tools/source /core.insts-1-0.inc', | |
328 '../third_party/externals/shaderc2/third_party/spirv-tools/source /operand.kinds-1-0.inc', | |
329 ], | |
330 'action': [ | |
331 'python', | |
332 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
333 '--spirv-core-grammar', | |
334 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-0.core.grammar.json', | |
335 '--core-insts-output', | |
336 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ core.insts-1-0.inc', | |
337 '--operand-kinds-output', | |
338 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ operand.kinds-1-0.inc' | |
339 ], | |
340 }, | |
341 { | |
342 'action_name': 'produce_core_operand-1-1', | |
343 'inputs': [ | |
344 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
345 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-1.core.grammar.json', | |
346 ], | |
347 'outputs': [ | |
348 '../third_party/externals/shaderc2/third_party/spirv-tools/source /core.insts-1-1.inc', | |
349 '../third_party/externals/shaderc2/third_party/spirv-tools/source /operand.kinds-1-1.inc', | |
350 ], | |
351 'action': [ | |
352 'python', | |
353 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
354 '--spirv-core-grammar', | |
355 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-1.core.grammar.json', | |
356 '--core-insts-output', | |
357 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ core.insts-1-1.inc', | |
358 '--operand-kinds-output', | |
359 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ operand.kinds-1-1.inc' | |
360 ], | |
361 }, | |
362 { | |
363 'action_name': 'produce_opencl-1-0', | |
364 'inputs': [ | |
365 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
366 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-0.core.grammar.json', | |
367 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ extinst-1-0.opencl.std.grammar.json', | |
368 ], | |
369 'outputs': [ | |
370 '../third_party/externals/shaderc2/third_party/spirv-tools/source /opencl.std.insts-1-0.inc', | |
371 ], | |
372 'action': [ | |
373 'python', | |
374 '../third_party/externals/shaderc2/third_party/spirv-tools/utils/g enerate_grammar_tables.py', | |
375 '--spirv-core-grammar', | |
376 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ spirv-1-1.core.grammar.json', | |
377 '--extinst-opencl-grammar', | |
378 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ extinst-1-0.opencl.std.grammar.json', | |
379 '--opencl-insts-output', | |
380 '../third_party/externals/shaderc2/third_party/spirv-tools/source/ opencl.std.insts-1-0.inc' | |
381 ], | |
382 }, | |
383 ], | |
384 | |
385 }, | |
386 ], | |
84 } | 387 } |
OLD | NEW |