Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(543)

Side by Side Diff: gyp/shaderc.gyp

Issue 2047833003: Create .gyp rules for shaderc libraries (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: more silence Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698