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 'clang_warning_flags': [
106 '-Wno-tautological-constant-out-of-range-compare',
108 'clang_warning_flags_unset': [
109 # Don't warn about string->bool used in asserts.
110 '-Wstring-conversion',
114 'src/src/mesa/program/hash_table.c',
115 'src/src/mesa/program/symbol_table.c',
116 'src/src/glsl/standalone_scaffolding.cpp',
117 'src/src/glsl/main.cpp',
118 'src/src/glsl/builtin_stubs.cpp',
122 'target_name': 'generate_mesa_sources',
125 'mesa_builtin_compiler',
129 'action_name': 'generateBuiltins',
131 '<(PRODUCT_DIR)/mesa_builtin_compiler',
132 'src/src/glsl/builtins/tools/generate_builtins.py'
135 '<(generated_src_dir)/mesa/builtin_function.cpp',
140 '<(generated_src_dir)/mesa/builtin_function.cpp',
141 'src/src/glsl/builtins/tools/generate_builtins.py',
142 '<(PRODUCT_DIR)/mesa_builtin_compiler',
144 'message': "Generating Mesa builtins ...",
149 'target_name': 'generate_main_mesa_sources',
153 'action_name': 'glsl_parser_cc',
155 'src/src/glsl/glsl_parser.yy',
158 '<(generated_src_dir)/mesa/glsl_parser.cc',
159 '<(generated_src_dir)/mesa/glsl_parser.h',
166 '<(generated_src_dir)/mesa/glsl_parser.cc',
169 '--defines=<(generated_src_dir)/mesa/glsl_parser.h',
170 'src/src/glsl/glsl_parser.yy'
172 'message': "Generating glsl parser ...",
175 'action_name': 'lex_yy_c',
177 'src/src/mesa/program/program_lexer.l',
180 '<(generated_src_dir)/mesa/lex.yy.c',
184 '--never-interactive',
185 '--outfile=<(generated_src_dir)/mesa/lex.yy.c',
186 'src/src/mesa/program/program_lexer.l'
188 'message': "Generating lex.yy.c ...",
191 'action_name': 'glsl_lexer_cc',
193 'src/src/glsl/glsl_lexer.ll',
196 '<(generated_src_dir)/mesa/glsl_lexer.cc',
201 '--outfile=<(generated_src_dir)/mesa/glsl_lexer.cc',
202 'src/src/glsl/glsl_lexer.ll',
204 'message': "Generating glsl lexer ...",
207 'action_name': 'glcpp_lex_c',
209 'src/src/glsl/glcpp/glcpp-lex.l',
212 '<(generated_src_dir)/mesa/glcpp-lex.c',
217 '--outfile=<(generated_src_dir)/mesa/glcpp-lex.c',
218 'src/src/glsl/glcpp/glcpp-lex.l',
220 'message': "Generating glcpp-lex.c ...",
223 'action_name': 'glcpp_parse_c',
225 'src/src/glsl/glcpp/glcpp-parse.y',
228 '<(generated_src_dir)/mesa/glcpp-parse.c',
229 '<(generated_src_dir)/mesa/glcpp-parse.h',
239 '<(generated_src_dir)/mesa/glcpp-parse.c',
240 '--defines=<(generated_src_dir)/mesa/glcpp-parse.h',
241 'src/src/glsl/glcpp/glcpp-parse.y',
243 'message': "Generating glcpp parser ...",
246 'action_name': 'program_parse_tab_c',
248 'src/src/mesa/program/program_parse.y',
251 '<(generated_src_dir)/mesa/program/program_parse.tab.c',
260 '--output=<(generated_src_dir)/mesa/program/program_parse.tab.c',
261 'src/src/mesa/program/program_parse.y',
263 'message': "Generating program_parse.y ...",
266 'action_name': 'glapi_mapi_tmp_h',
270 'src/src/mapi/mapi/mapi_abi.py',
273 '<(generated_src_dir)/mesa/glapi_mapi_tmp.h',
278 '<(generated_src_dir)/mesa/glapi_mapi_tmp.h',
279 'src/src/mapi/mapi/mapi_abi.py',
284 'src/src/mapi/glapi/gen/gl_and_es_API.xml',
286 'message': "Generating glapi_mapi_tmp.h ...",
289 'action_name': 'glapi_mapi_tmp_shared_h',
293 'src/src/mapi/mapi/mapi_abi.py',
296 '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h',
301 '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h',
302 'src/src/mapi/mapi/mapi_abi.py',
307 'src/src/mapi/glapi/gen/gl_and_es_API.xml',
309 'message': "Generating glapi_mapi_tmp_shared.h ...",
312 'action_name': 'glprocs_h',
316 'src/src/mapi/glapi/gen/gl_procs.py',
319 '<(generated_src_dir)/mesa/glprocs.h',
324 '<(generated_src_dir)/mesa/glprocs.h',
325 'src/src/mapi/glapi/gen/gl_procs.py',
327 'src/src/mapi/glapi/gen/gl_API.xml',
329 'message': "Generating glprocs.h ...",
332 'action_name': 'glapitemp_h',
336 'src/src/mapi/glapi/gen/gl_apitemp.py',
339 '<(generated_src_dir)/mesa/glapi/glapitemp.h',
344 '<(generated_src_dir)/mesa/glapi/glapitemp.h',
345 'src/src/mapi/glapi/gen/gl_apitemp.py',
347 'src/src/mapi/glapi/gen/gl_API.xml',
349 'message': "Generating glapitemp.h ...",
352 'action_name': 'glapitable_h',
356 'src/src/mapi/glapi/gen/gl_table.py',
359 '<(generated_src_dir)/mesa/glapi/glapitable.h',
364 '<(generated_src_dir)/mesa/glapi/glapitable.h',
365 'src/src/mapi/glapi/gen/gl_table.py',
367 'src/src/mapi/glapi/gen/gl_API.xml',
369 'message': "Generating glapitable.h ...",
372 'action_name': 'glapi_gentable_c',
376 'src/src/mapi/glapi/gen/gl_gentable.py',
379 '<(generated_src_dir)/mesa/glapi_gentable.c',
384 '<(generated_src_dir)/mesa/glapi_gentable.c',
385 'src/src/mapi/glapi/gen/gl_gentable.py',
387 'src/src/mapi/glapi/gen/gl_API.xml',
389 'message': "Generating glapi_gentable.c ...",
392 'action_name': 'glapi_x86_64_S',
396 'src/src/mapi/glapi/gen/gl_x86-64_asm.py',
399 '<(generated_src_dir)/mesa/glapi_x86-64.S',
404 '<(generated_src_dir)/mesa/glapi_x86-64.S',
405 'src/src/mapi/glapi/gen/gl_x86-64_asm.py',
407 'src/src/mapi/glapi/gen/gl_API.xml',
409 'message': "Generating glapi_x86-64.S ...",
412 'action_name': 'enums_c',
416 'src/src/mapi/glapi/gen/gl_enums.py',
419 '<(generated_src_dir)/mesa/enums.c',
424 '<(generated_src_dir)/mesa/enums.c',
425 'src/src/mapi/glapi/gen/gl_enums.py',
427 'src/src/mapi/glapi/gen/gl_and_es_API.xml',
429 'message': "Generating enums.c ...",
432 'action_name': 'dispatch_h',
436 'src/src/mapi/glapi/gen/gl_table.py',
439 '<(generated_src_dir)/mesa/main/dispatch.h',
444 '<(generated_src_dir)/mesa/main/dispatch.h',
445 'src/src/mapi/glapi/gen/gl_table.py',
447 'src/src/mapi/glapi/gen/gl_API.xml',
451 'message': "Generating dispatch.h ...",
454 'action_name': 'remap_helper_h',
458 'src/src/mapi/glapi/gen/remap_helper.py',
461 '<(generated_src_dir)/mesa/main/remap_helper.h',
466 '<(generated_src_dir)/mesa/main/remap_helper.h',
467 'src/src/mapi/glapi/gen/remap_helper.py',
469 'src/src/mapi/glapi/gen/gl_API.xml',
471 'message': "Generating remap_helper.h ...",
474 'action_name': 'indirect_c',
477 'src/src/mapi/glapi/gen/glX_proto_send.py',
481 '<(generated_src_dir)/mesa/indirect.c',
486 '<(generated_src_dir)/mesa/indirect.c',
487 'src/src/mapi/glapi/gen/glX_proto_send.py',
489 'src/src/mapi/glapi/gen/gl_API.xml',
493 'message': "Generating indirect.c ...",
496 'action_name': 'indirect_h',
500 'src/src/mapi/glapi/gen/glX_proto_send.py',
503 '<(generated_src_dir)/mesa/indirect.h',
508 '<(generated_src_dir)/mesa/indirect.h',
509 'src/src/mapi/glapi/gen/glX_proto_send.py',
511 'src/src/mapi/glapi/gen/gl_API.xml',
515 'message': "Generating indirect.h ...",
518 'action_name': 'indirect_init_c',
522 'src/src/mapi/glapi/gen/glX_proto_send.py',
525 '<(generated_src_dir)/mesa/indirect_init.c',
530 '<(generated_src_dir)/mesa/indirect_init.c',
531 'src/src/mapi/glapi/gen/glX_proto_send.py',
533 'src/src/mapi/glapi/gen/gl_API.xml',
537 'message': "Generating indirect_init.c ...",
540 'action_name': 'indirect_size_h',
544 'src/src/mapi/glapi/gen/glX_proto_size.py',
547 '<(generated_src_dir)/mesa/indirect_size.h',
552 '<(generated_src_dir)/mesa/indirect_size.h',
553 'src/src/mapi/glapi/gen/glX_proto_size.py',
555 'src/src/mapi/glapi/gen/gl_API.xml',
562 'message': "Generating indirect_size.h ...",
565 'action_name': 'indirect_size_c',
569 'src/src/mapi/glapi/gen/glX_proto_size.py',
572 '<(generated_src_dir)/mesa/indirect_size.c',
577 '<(generated_src_dir)/mesa/indirect_size.c',
578 'src/src/mapi/glapi/gen/glX_proto_size.py',
580 'src/src/mapi/glapi/gen/gl_API.xml',
585 'message': "Generating indirect_size.c ...",
588 'action_name': 'git_sha1_h',
592 '<(generated_src_dir)/mesa/git_sha1.h',
596 'generate_git_sha1.py',
597 '<(generated_src_dir)/mesa/git_sha1.h',
599 'message': "Generating Mesa sources ...",