1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
8 'src/src/mapi/glapi/gen/EXT_draw_buffers2.xml',
9 'src/src/mapi/glapi/gen/NV_texture_barrier.xml',
10 'src/src/mapi/glapi/gen/NV_primitive_restart.xml',
11 'src/src/mapi/glapi/gen/ARB_base_instance.xml',
12 'src/src/mapi/glapi/gen/EXT_packed_depth_stencil.xml',
13 'src/src/mapi/glapi/gen/ARB_sync.xml',
14 'src/src/mapi/glapi/gen/ARB_draw_buffers.xml',
15 'src/src/mapi/glapi/gen/ARB_geometry_shader4.xml',
16 'src/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml',
17 'src/src/mapi/glapi/gen/GL3x.xml',
18 'src/src/mapi/glapi/gen/ARB_blend_func_extended.xml',
19 'src/src/mapi/glapi/gen/EXT_gpu_shader4.xml',
20 'src/src/mapi/glapi/gen/ARB_robustness.xml',
21 'src/src/mapi/glapi/gen/ARB_ES2_compatibility.xml',
22 'src/src/mapi/glapi/gen/ARB_map_buffer_range.xml',
23 'src/src/mapi/glapi/gen/OES_single_precision.xml',
24 'src/src/mapi/glapi/gen/ARB_debug_output.xml',
25 'src/src/mapi/glapi/gen/ARB_draw_instanced.xml',
26 'src/src/mapi/glapi/gen/ARB_copy_buffer.xml',
27 'src/src/mapi/glapi/gen/glX_API.xml',
28 'src/src/mapi/glapi/gen/ARB_framebuffer_object.xml',
29 'src/src/mapi/glapi/gen/OES_EGL_image.xml',
30 'src/src/mapi/glapi/gen/gl_and_es_API.xml',
31 'src/src/mapi/glapi/gen/ARB_color_buffer_float.xml',
32 'src/src/mapi/glapi/gen/ARB_instanced_arrays.xml',
33 'src/src/mapi/glapi/gen/APPLE_object_purgeable.xml',
34 'src/src/mapi/glapi/gen/APPLE_vertex_array_object.xml',
35 'src/src/mapi/glapi/gen/ARB_texture_rgb10_a2ui.xml',
36 'src/src/mapi/glapi/gen/ARB_sampler_objects.xml',
37 'src/src/mapi/glapi/gen/OES_fixed_point.xml',
38 'src/src/mapi/glapi/gen/EXT_provoking_vertex.xml',
39 'src/src/mapi/glapi/gen/ARB_texture_float.xml',
40 'src/src/mapi/glapi/gen/EXT_texture_integer.xml',
41 'src/src/mapi/glapi/gen/es_EXT.xml',
42 'src/src/mapi/glapi/gen/gl_and_glX_API.xml',
43 'src/src/mapi/glapi/gen/EXT_transform_feedback.xml',
44 'src/src/mapi/glapi/gen/ARB_texture_buffer_object.xml',
45 'src/src/mapi/glapi/gen/EXT_framebuffer_object.xml',
46 'src/src/mapi/glapi/gen/ARB_uniform_buffer_object.xml',
47 'src/src/mapi/glapi/gen/ARB_texture_rg.xml',
48 'src/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml',
49 'src/src/mapi/glapi/gen/ARB_seamless_cube_map.xml',
50 'src/src/mapi/glapi/gen/EXT_texture_array.xml',
51 'src/src/mapi/glapi/gen/ARB_vertex_array_object.xml',
52 'src/src/mapi/glapi/gen/ARB_invalidate_subdata.xml',
53 'src/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml',
54 'src/src/mapi/glapi/gen/AMD_draw_buffers_blend.xml',
55 'src/src/mapi/glapi/gen/ARB_get_program_binary.xml',
56 'src/src/mapi/glapi/gen/gl_API.xml',
57 'src/src/mapi/glapi/gen/ARB_depth_clamp.xml',
58 'src/src/mapi/glapi/gen/ARB_texture_storage.xml',
59 'src/src/mapi/glapi/gen/ARB_depth_buffer_float.xml',
60 'src/src/mapi/glapi/gen/EXT_separate_shader_objects.xml',
61 'src/src/mapi/glapi/gen/ARB_texture_compression_rgtc.xml',
62 'src/src/mapi/glapi/gen/NV_conditional_render.xml',
63 'src/src/mesa/main/APIspec.xml',
68 # The targets below generate all of the sources Mesa generates
69 # during its build process. Mesa's XML processors like gl_XML.py
70 # rely heavily on Python's libxml2 bindings. Specifically, the
71 # processors require validation against the DTD for default values
72 # for attributes, and none of Python's built-in XML parsers support
73 # validation. It's infeasible to use any third-party XML parser for
74 # Python which relies on native code due to the large number of
75 # host platforms Chromium must build on, and pure Python validators
76 # are in short supply.
78 # The main target is generate_mesa_sources, which must be run
79 # manually on a host platform with libxml2's Python bindings
80 # installed. (Most Linux distributions should fulfill this
83 'target_name': 'mesa_builtin_compiler',
86 'src/src/gallium/auxiliary',
87 'src/src/gallium/include',
94 '<(generated_src_dir)/mesa/',
95 '<(generated_src_dir)/mesa/main',
96 '<(generated_src_dir)/mesa/program',
97 '<(generated_src_dir)/mesa/glapi',
100 'generate_main_mesa_sources',
102 'mesa_libglslcommon', # implicit dependency on generate_main_mesa_sources
105 'src/src/mesa/program/hash_table.c',
106 'src/src/mesa/program/symbol_table.c',
107 'src/src/glsl/standalone_scaffolding.cpp',
108 'src/src/glsl/main.cpp',
109 'src/src/glsl/builtin_stubs.cpp',
115 '-Wno-tautological-constant-out-of-range-compare',
118 # Don't warn about string->bool used in asserts.
119 '-Wstring-conversion',
123 '-Wtautological-constant-out-of-range-compare',
126 '-Wstring-conversion',
132 'target_name': 'generate_mesa_sources',
135 'mesa_builtin_compiler',
139 'action_name': 'generateBuiltins',
141 '<(PRODUCT_DIR)/mesa_builtin_compiler',
142 'src/src/glsl/builtins/tools/generate_builtins.py'
145 '<(generated_src_dir)/mesa/builtin_function.cpp',
150 '<(generated_src_dir)/mesa/builtin_function.cpp',
151 'src/src/glsl/builtins/tools/generate_builtins.py',
152 '<(PRODUCT_DIR)/mesa_builtin_compiler',
154 'message': "Generating Mesa builtins ...",
159 'target_name': 'generate_main_mesa_sources',
163 'action_name': 'glsl_parser_cc',
165 'src/src/glsl/glsl_parser.yy',
168 '<(generated_src_dir)/mesa/glsl_parser.cc',
169 '<(generated_src_dir)/mesa/glsl_parser.h',
176 '<(generated_src_dir)/mesa/glsl_parser.cc',
179 '--defines=<(generated_src_dir)/mesa/glsl_parser.h',
180 'src/src/glsl/glsl_parser.yy'
182 'message': "Generating glsl parser ...",
185 'action_name': 'lex_yy_c',
187 'src/src/mesa/program/program_lexer.l',
190 '<(generated_src_dir)/mesa/lex.yy.c',
194 '--never-interactive',
195 '--outfile=<(generated_src_dir)/mesa/lex.yy.c',
196 'src/src/mesa/program/program_lexer.l'
198 'message': "Generating lex.yy.c ...",
201 'action_name': 'glsl_lexer_cc',
203 'src/src/glsl/glsl_lexer.ll',
206 '<(generated_src_dir)/mesa/glsl_lexer.cc',
211 '--outfile=<(generated_src_dir)/mesa/glsl_lexer.cc',
212 'src/src/glsl/glsl_lexer.ll',
214 'message': "Generating glsl lexer ...",
217 'action_name': 'glcpp_lex_c',
219 'src/src/glsl/glcpp/glcpp-lex.l',
222 '<(generated_src_dir)/mesa/glcpp-lex.c',
227 '--outfile=<(generated_src_dir)/mesa/glcpp-lex.c',
228 'src/src/glsl/glcpp/glcpp-lex.l',
230 'message': "Generating glcpp-lex.c ...",
233 'action_name': 'glcpp_parse_c',
235 'src/src/glsl/glcpp/glcpp-parse.y',
238 '<(generated_src_dir)/mesa/glcpp-parse.c',
239 '<(generated_src_dir)/mesa/glcpp-parse.h',
249 '<(generated_src_dir)/mesa/glcpp-parse.c',
250 '--defines=<(generated_src_dir)/mesa/glcpp-parse.h',
251 'src/src/glsl/glcpp/glcpp-parse.y',
253 'message': "Generating glcpp parser ...",
256 'action_name': 'program_parse_tab_c',
258 'src/src/mesa/program/program_parse.y',
261 '<(generated_src_dir)/mesa/program/program_parse.tab.c',
270 '--output=<(generated_src_dir)/mesa/program/program_parse.tab.c',
271 'src/src/mesa/program/program_parse.y',
273 'message': "Generating program_parse.y ...",
276 'action_name': 'glapi_mapi_tmp_h',
280 'src/src/mapi/mapi/mapi_abi.py',
283 '<(generated_src_dir)/mesa/glapi_mapi_tmp.h',
288 '<(generated_src_dir)/mesa/glapi_mapi_tmp.h',
289 'src/src/mapi/mapi/mapi_abi.py',
294 'src/src/mapi/glapi/gen/gl_and_es_API.xml',
296 'message': "Generating glapi_mapi_tmp.h ...",
299 'action_name': 'glapi_mapi_tmp_shared_h',
303 'src/src/mapi/mapi/mapi_abi.py',
306 '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h',
311 '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h',
312 'src/src/mapi/mapi/mapi_abi.py',
317 'src/src/mapi/glapi/gen/gl_and_es_API.xml',
319 'message': "Generating glapi_mapi_tmp_shared.h ...",
322 'action_name': 'glprocs_h',
326 'src/src/mapi/glapi/gen/gl_procs.py',
329 '<(generated_src_dir)/mesa/glprocs.h',
334 '<(generated_src_dir)/mesa/glprocs.h',
335 'src/src/mapi/glapi/gen/gl_procs.py',
337 'src/src/mapi/glapi/gen/gl_API.xml',
339 'message': "Generating glprocs.h ...",
342 'action_name': 'glapitemp_h',
346 'src/src/mapi/glapi/gen/gl_apitemp.py',
349 '<(generated_src_dir)/mesa/glapi/glapitemp.h',
354 '<(generated_src_dir)/mesa/glapi/glapitemp.h',
355 'src/src/mapi/glapi/gen/gl_apitemp.py',
357 'src/src/mapi/glapi/gen/gl_API.xml',
359 'message': "Generating glapitemp.h ...",
362 'action_name': 'glapitable_h',
366 'src/src/mapi/glapi/gen/gl_table.py',
369 '<(generated_src_dir)/mesa/glapi/glapitable.h',
374 '<(generated_src_dir)/mesa/glapi/glapitable.h',
375 'src/src/mapi/glapi/gen/gl_table.py',
377 'src/src/mapi/glapi/gen/gl_API.xml',
379 'message': "Generating glapitable.h ...",
382 'action_name': 'glapi_gentable_c',
386 'src/src/mapi/glapi/gen/gl_gentable.py',
389 '<(generated_src_dir)/mesa/glapi_gentable.c',
394 '<(generated_src_dir)/mesa/glapi_gentable.c',
395 'src/src/mapi/glapi/gen/gl_gentable.py',
397 'src/src/mapi/glapi/gen/gl_API.xml',
399 'message': "Generating glapi_gentable.c ...",
402 'action_name': 'glapi_x86_64_S',
406 'src/src/mapi/glapi/gen/gl_x86-64_asm.py',
409 '<(generated_src_dir)/mesa/glapi_x86-64.S',
414 '<(generated_src_dir)/mesa/glapi_x86-64.S',
415 'src/src/mapi/glapi/gen/gl_x86-64_asm.py',
417 'src/src/mapi/glapi/gen/gl_API.xml',
419 'message': "Generating glapi_x86-64.S ...",
422 'action_name': 'enums_c',
426 'src/src/mapi/glapi/gen/gl_enums.py',
429 '<(generated_src_dir)/mesa/enums.c',
434 '<(generated_src_dir)/mesa/enums.c',
435 'src/src/mapi/glapi/gen/gl_enums.py',
437 'src/src/mapi/glapi/gen/gl_and_es_API.xml',
439 'message': "Generating enums.c ...",
442 'action_name': 'dispatch_h',
446 'src/src/mapi/glapi/gen/gl_table.py',
449 '<(generated_src_dir)/mesa/main/dispatch.h',
454 '<(generated_src_dir)/mesa/main/dispatch.h',
455 'src/src/mapi/glapi/gen/gl_table.py',
457 'src/src/mapi/glapi/gen/gl_API.xml',
461 'message': "Generating dispatch.h ...",
464 'action_name': 'remap_helper_h',
468 'src/src/mapi/glapi/gen/remap_helper.py',
471 '<(generated_src_dir)/mesa/main/remap_helper.h',
476 '<(generated_src_dir)/mesa/main/remap_helper.h',
477 'src/src/mapi/glapi/gen/remap_helper.py',
479 'src/src/mapi/glapi/gen/gl_API.xml',
481 'message': "Generating remap_helper.h ...",
484 'action_name': 'indirect_c',
487 'src/src/mapi/glapi/gen/glX_proto_send.py',
491 '<(generated_src_dir)/mesa/indirect.c',
496 '<(generated_src_dir)/mesa/indirect.c',
497 'src/src/mapi/glapi/gen/glX_proto_send.py',
499 'src/src/mapi/glapi/gen/gl_API.xml',
503 'message': "Generating indirect.c ...",
506 'action_name': 'indirect_h',
510 'src/src/mapi/glapi/gen/glX_proto_send.py',
513 '<(generated_src_dir)/mesa/indirect.h',
518 '<(generated_src_dir)/mesa/indirect.h',
519 'src/src/mapi/glapi/gen/glX_proto_send.py',
521 'src/src/mapi/glapi/gen/gl_API.xml',
525 'message': "Generating indirect.h ...",
528 'action_name': 'indirect_init_c',
532 'src/src/mapi/glapi/gen/glX_proto_send.py',
535 '<(generated_src_dir)/mesa/indirect_init.c',
540 '<(generated_src_dir)/mesa/indirect_init.c',
541 'src/src/mapi/glapi/gen/glX_proto_send.py',
543 'src/src/mapi/glapi/gen/gl_API.xml',
547 'message': "Generating indirect_init.c ...",
550 'action_name': 'indirect_size_h',
554 'src/src/mapi/glapi/gen/glX_proto_size.py',
557 '<(generated_src_dir)/mesa/indirect_size.h',
562 '<(generated_src_dir)/mesa/indirect_size.h',
563 'src/src/mapi/glapi/gen/glX_proto_size.py',
565 'src/src/mapi/glapi/gen/gl_API.xml',
572 'message': "Generating indirect_size.h ...",
575 'action_name': 'indirect_size_c',
579 'src/src/mapi/glapi/gen/glX_proto_size.py',
582 '<(generated_src_dir)/mesa/indirect_size.c',
587 '<(generated_src_dir)/mesa/indirect_size.c',
588 'src/src/mapi/glapi/gen/glX_proto_size.py',
590 'src/src/mapi/glapi/gen/gl_API.xml',
595 'message': "Generating indirect_size.c ...",
598 'action_name': 'api_exec_es1_c',
602 'src/src/mesa/main/es_generator.py',
605 '<(generated_src_dir)/mesa/api_exec_es1.c',
610 '<(generated_src_dir)/mesa/api_exec_es1.c',
611 'src/src/mesa/main/es_generator.py',
613 'src/src/mesa/main/APIspec.xml',
617 'message': "Generating api_exec_es1.c ...",
620 'action_name': 'git_sha1_h',
624 '<(generated_src_dir)/mesa/git_sha1.h',
628 'generate_git_sha1.py',
629 '<(generated_src_dir)/mesa/git_sha1.h',
631 'message': "Generating Mesa sources ...",