[SyncFS] Build indexes from FileTracker entries on disk.
[chromium-blink-merge.git] / third_party / mesa / mesa.gyp
blobbcf44be24fe1ec48b3c6ebca3e3f4daa22c56a42
1 # Copyright (c) 2012 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.
6   'variables': {
7     'generated_src_dir': 'src/chromium_gensrc',
8   },
9   'target_defaults': {
10     'defines': [
11       'MAPI_ABI_HEADER="glapi_mapi_tmp_shared.h"',
12       "PACKAGE_NAME=\"Mesa\"",
13       "PACKAGE_TARNAME=\"mesa\"",
14       "PACKAGE_VERSION=\"9.0.3\"",
15       "PACKAGE_STRING=\"Mesa\ 9.0.3\"",
16       "PACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"",
17       "PACKAGE_URL=\"\"",
18       "PACKAGE=\"mesa\"",
19       "VERSION=\"9.0.3\"",
20       "STDC_HEADERS=1",
21       "HAVE_SYS_TYPES_H=1",
22       "HAVE_SYS_STAT_H=1",
23       "HAVE_STDLIB_H=1",
24       "HAVE_STRING_H=1",
25       "HAVE_MEMORY_H=1",
26       "HAVE_STRINGS_H=1",
27       "HAVE_INTTYPES_H=1",
28       "HAVE_STDINT_H=1",
29       "HAVE_DLFCN_H=1",
30       "LT_OBJDIR=\".libs/\"",
31       "YYTEXT_POINTER=1",
32       "HAVE_LIBEXPAT=1",
33       "HAVE_LIBXCB_DRI2=1",
34       "FEATURE_GL=1",
35       'MAPI_MODE_GLAPI',
36       #"USE_X86_64_ASM",
37       "IN_DRI_DRIVER",
38       "USE_XCB",
39       "GLX_INDIRECT_RENDERING",
40       "GLX_DIRECT_RENDERING",
41       "USE_EXTERNAL_DXTN_LIB=1",
42       "IN_DRI_DRIVER",
43       "HAVE_ALIAS",
44       "HAVE_MINCORE",
45       "HAVE_LIBUDEV",
46       "_GLAPI_NO_EXPORTS",
47     ],
48     'conditions': [
49       ['OS=="android"', {
50         'defines': [
51           '__GLIBC__',
52           '_GNU_SOURCE',
53         ],
54       }],
55       ['OS=="linux"', {
56         'defines': [
57           '_GNU_SOURCE',
58         ],
59       }],
60       ['os_posix == 1', {
61         'defines': [
62           'HAVE_DLOPEN',
63           'HAVE_PTHREAD=1',
64           'HAVE_UNISTD_H=1',
65         ],
66       }],
67       ['os_posix == 1 and OS != "android"', {
68         'defines': [
69           'HAVE_POSIX_MEMALIGN',
70         ],
71       }],
72       ['os_posix == 1 and OS != "mac" and OS != "android"', {
73         'cflags': [
74           '-fPIC',
75         ],
76       }],
77       ['ubsan_vptr == 1', {
78         'cflags!': [
79           # UBsan's vptr is not compatible with -fno-rtti,
80           # which is used by gallium/auxiliary/Makefile.
81           '-fsanitize=null',
82           '-fsanitize=vptr',
83         ],
84       }],
85     ],
86   },
87   'targets': [
88     {
89       'target_name': 'mesa_headers',
90       'type': 'none',
91       'direct_dependent_settings': {
92         'include_dirs': [
93           'src/include',
94         ],
95       },
96       'conditions': [
97         ['use_x11==0', {
98           'direct_dependent_settings': {
99             'defines': [
100               'MESA_EGL_NO_X11_HEADERS',
101             ],
102           },
103         }],
104       ],
105     },
106     {
107       'target_name': 'mesa_libglslcommon',
108       'type': 'static_library',
109       'include_dirs': [
110         'src/src/gallium/auxiliary',
111         'src/src/gallium/include',
112         'src/src/glsl',
113         'src/src/glsl/glcpp',
114         'src/src/mapi',
115         'src/src/mapi/glapi',
116         'src/src/mesa',
117         'src/src/mesa/main',
118         'src/include',
119         '<(generated_src_dir)/mesa/',
120         '<(generated_src_dir)/mesa/main',
121         '<(generated_src_dir)/mesa/program',
122         '<(generated_src_dir)/mesa/glapi',
123       ],
124       'dependencies': [
125         'mesa_headers',
126       ],
127       # TODO(scottmg): http://crbug.com/143877 These should be removed if
128       # Mesa is ever rolled and the warnings are fixed.
129       'msvs_disabled_warnings': [
130           4005, 4018, 4065, 4090, 4099, 4273, 4291, 4345, 4267,
131       ],
132       'sources': [
133         '<(generated_src_dir)/mesa/main/dispatch.h',
134         'src/src/glsl/ast_expr.cpp',
135         'src/src/glsl/ast_function.cpp',
136         'src/src/glsl/ast_to_hir.cpp',
137         'src/src/glsl/ast_type.cpp',
138         'src/src/glsl/builtin_variables.cpp',
139         '<(generated_src_dir)/mesa/glcpp-lex.c',
140         '<(generated_src_dir)/mesa/glcpp-parse.c',
141         '<(generated_src_dir)/mesa/glcpp-parse.h',
142         'src/src/glsl/glcpp/glcpp.h',
143         'src/src/glsl/glcpp/pp.c',
144         '<(generated_src_dir)/mesa/glsl_lexer.cc',
145         '<(generated_src_dir)/mesa/glsl_parser.cc',
146         'src/src/glsl/glsl_parser_extras.cpp',
147         'src/src/glsl/glsl_parser_extras.h',
148         'src/src/glsl/glsl_symbol_table.cpp',
149         'src/src/glsl/glsl_symbol_table.h',
150         'src/src/glsl/glsl_types.cpp',
151         'src/src/glsl/glsl_types.h',
152         'src/src/glsl/hir_field_selection.cpp',
153         'src/src/glsl/ir.cpp',
154         'src/src/glsl/ir.h',
155         'src/src/glsl/ir_basic_block.cpp',
156         'src/src/glsl/ir_basic_block.h',
157         'src/src/glsl/ir_builder.cpp',
158         'src/src/glsl/ir_builder.h',
159         'src/src/glsl/ir_clone.cpp',
160         'src/src/glsl/ir_constant_expression.cpp',
161         'src/src/glsl/ir_expression_flattening.cpp',
162         'src/src/glsl/ir_expression_flattening.h',
163         'src/src/glsl/ir_function.cpp',
164         'src/src/glsl/ir_function_can_inline.cpp',
165         'src/src/glsl/ir_function_detect_recursion.cpp',
166         'src/src/glsl/ir_hierarchical_visitor.cpp',
167         'src/src/glsl/ir_hierarchical_visitor.h',
168         'src/src/glsl/ir_hv_accept.cpp',
169         'src/src/glsl/ir_import_prototypes.cpp',
170         'src/src/glsl/ir_print_visitor.cpp',
171         'src/src/glsl/ir_print_visitor.h',
172         'src/src/glsl/ir_reader.cpp',
173         'src/src/glsl/ir_reader.h',
174         'src/src/glsl/ir_rvalue_visitor.cpp',
175         'src/src/glsl/ir_rvalue_visitor.h',
176         'src/src/glsl/ir_set_program_inouts.cpp',
177         'src/src/glsl/ir_validate.cpp',
178         'src/src/glsl/ir_variable_refcount.cpp',
179         'src/src/glsl/ir_variable_refcount.h',
180         'src/src/glsl/link_functions.cpp',
181         'src/src/glsl/link_uniform_initializers.cpp',
182         'src/src/glsl/link_uniforms.cpp',
183         'src/src/glsl/linker.cpp',
184         'src/src/glsl/linker.h',
185         'src/src/glsl/loop_analysis.cpp',
186         'src/src/glsl/loop_analysis.h',
187         'src/src/glsl/loop_controls.cpp',
188         'src/src/glsl/loop_unroll.cpp',
189         'src/src/glsl/lower_clip_distance.cpp',
190         'src/src/glsl/lower_discard.cpp',
191         'src/src/glsl/lower_discard_flow.cpp',
192         'src/src/glsl/lower_if_to_cond_assign.cpp',
193         'src/src/glsl/lower_instructions.cpp',
194         'src/src/glsl/lower_jumps.cpp',
195         'src/src/glsl/lower_mat_op_to_vec.cpp',
196         'src/src/glsl/lower_noise.cpp',
197         'src/src/glsl/lower_output_reads.cpp',
198         'src/src/glsl/lower_texture_projection.cpp',
199         'src/src/glsl/lower_ubo_reference.cpp',
200         'src/src/glsl/lower_variable_index_to_cond_assign.cpp',
201         'src/src/glsl/lower_vec_index_to_cond_assign.cpp',
202         'src/src/glsl/lower_vec_index_to_swizzle.cpp',
203         'src/src/glsl/lower_vector.cpp',
204         'src/src/glsl/opt_algebraic.cpp',
205         'src/src/glsl/opt_array_splitting.cpp',
206         'src/src/glsl/opt_constant_folding.cpp',
207         'src/src/glsl/opt_constant_propagation.cpp',
208         'src/src/glsl/opt_constant_variable.cpp',
209         'src/src/glsl/opt_copy_propagation.cpp',
210         'src/src/glsl/opt_copy_propagation_elements.cpp',
211         'src/src/glsl/opt_dead_code.cpp',
212         'src/src/glsl/opt_dead_code_local.cpp',
213         'src/src/glsl/opt_dead_functions.cpp',
214         'src/src/glsl/opt_function_inlining.cpp',
215         'src/src/glsl/opt_if_simplification.cpp',
216         'src/src/glsl/opt_noop_swizzle.cpp',
217         'src/src/glsl/opt_redundant_jumps.cpp',
218         'src/src/glsl/opt_structure_splitting.cpp',
219         'src/src/glsl/opt_swizzle_swizzle.cpp',
220         'src/src/glsl/opt_tree_grafting.cpp',
221         'src/src/glsl/program.h',
222         'src/src/glsl/ralloc.c',
223         'src/src/glsl/ralloc.h',
224         'src/src/glsl/s_expression.cpp',
225         'src/src/glsl/s_expression.h',
226         'src/src/glsl/standalone_scaffolding.cpp',
227         'src/src/glsl/standalone_scaffolding.h',
228         'src/src/glsl/strtod.c',
229         'src/src/glsl/strtod.h',
230       ],
231       'conditions': [
232         ['clang == 1', {
233           'xcode_settings': {
234             'WARNING_CFLAGS': [
235               '-Wno-tautological-constant-out-of-range-compare',
236             ],
237             'WARNING_CFLAGS!': [
238               # Don't warn about string->bool used in asserts.
239               '-Wstring-conversion',
240             ],
241           },
242           'cflags': [
243             '-Wno-tautological-constant-out-of-range-compare',
244           ],
245           'cflags!': [
246             '-Wstring-conversion',
247           ],
248         }],
249       ],
250     },
251     {
252       'target_name': 'mesa',
253       'type': 'static_library',
254       'include_dirs': [
255         'src/src/gallium/auxiliary',
256         'src/src/gallium/include',
257         'src/src/glsl',
258         'src/src/glsl/glcpp',
259         'src/src/mapi',
260         'src/src/mapi/glapi',
261         'src/src/mesa',
262         'src/src/mesa/main',
263         '<(generated_src_dir)/mesa/',
264         '<(generated_src_dir)/mesa/main',
265         '<(generated_src_dir)/mesa/program',
266         '<(generated_src_dir)/mesa/glapi',
267       ],
268       'dependencies': [
269         'mesa_headers',
270         'mesa_libglslcommon',
271       ],
272       # TODO(scottmg): http://crbug.com/143877 These should be removed if
273       # Mesa is ever rolled and the warnings are fixed.
274       'msvs_disabled_warnings': [
275           4005, 4018, 4090, 4099, 4146, 4273, 4291, 4305, 4334, 4748, 4267,
276       ],
277       'sources': [
278         '<(generated_src_dir)/mesa/builtin_function.cpp',
279         '<(generated_src_dir)/mesa/glapi_mapi_tmp_shared.h',
280         'src/src/mapi/mapi/entry.c',
281         'src/src/mapi/mapi/entry.h',
282         'src/src/mapi/mapi/mapi.c',
283         'src/src/mapi/mapi/mapi.h',
284         'src/src/mapi/mapi/mapi_glapi.c',
285         'src/src/mapi/mapi/stub.c',
286         'src/src/mapi/mapi/stub.h',
287         'src/src/mapi/mapi/table.c',
288         'src/src/mapi/mapi/table.h',
289         'src/src/mapi/mapi/u_current.c',
290         'src/src/mapi/mapi/u_current.h',
291         'src/src/mapi/mapi/u_execmem.c',
292         'src/src/mapi/mapi/u_execmem.h',
293         'src/src/mesa/main/accum.c',
294         'src/src/mesa/main/accum.h',
295         'src/src/mesa/main/api_arrayelt.c',
296         'src/src/mesa/main/api_arrayelt.h',
297         'src/src/mesa/main/api_exec.c',
298         'src/src/mesa/main/api_exec.h',
299         '<(generated_src_dir)/mesa/api_exec_es1.c',
300         'src/src/mesa/main/api_loopback.c',
301         'src/src/mesa/main/api_loopback.h',
302         'src/src/mesa/main/api_validate.c',
303         'src/src/mesa/main/api_validate.h',
304         'src/src/mesa/main/arbprogram.c',
305         'src/src/mesa/main/arbprogram.h',
306         'src/src/mesa/main/arrayobj.c',
307         'src/src/mesa/main/arrayobj.h',
308         'src/src/mesa/main/atifragshader.c',
309         'src/src/mesa/main/atifragshader.h',
310         'src/src/mesa/main/attrib.c',
311         'src/src/mesa/main/attrib.h',
312         'src/src/mesa/main/blend.c',
313         'src/src/mesa/main/blend.h',
314         'src/src/mesa/main/bufferobj.c',
315         'src/src/mesa/main/bufferobj.h',
316         'src/src/mesa/main/buffers.c',
317         'src/src/mesa/main/buffers.h',
318         'src/src/mesa/main/clear.c',
319         'src/src/mesa/main/clear.h',
320         'src/src/mesa/main/clip.c',
321         'src/src/mesa/main/clip.h',
322         'src/src/mesa/main/colortab.c',
323         'src/src/mesa/main/colortab.h',
324         'src/src/mesa/main/condrender.c',
325         'src/src/mesa/main/condrender.h',
326         'src/src/mesa/main/context.c',
327         'src/src/mesa/main/context.h',
328         'src/src/mesa/main/convolve.c',
329         'src/src/mesa/main/convolve.h',
330         'src/src/mesa/main/cpuinfo.c',
331         'src/src/mesa/main/cpuinfo.h',
332         'src/src/mesa/main/debug.c',
333         'src/src/mesa/main/debug.h',
334         'src/src/mesa/main/depth.c',
335         'src/src/mesa/main/depth.h',
336         'src/src/mesa/main/dlist.c',
337         'src/src/mesa/main/dlist.h',
338         'src/src/mesa/main/drawpix.c',
339         'src/src/mesa/main/drawpix.h',
340         'src/src/mesa/main/drawtex.c',
341         'src/src/mesa/main/drawtex.h',
342         'src/src/mesa/main/enable.c',
343         'src/src/mesa/main/enable.h',
344         '<(generated_src_dir)/mesa/enums.c',
345         'src/src/mesa/main/enums.h',
346         'src/src/mesa/main/errors.c',
347         'src/src/mesa/main/errors.h',
348         'src/src/mesa/main/es1_conversion.c',
349         'src/src/mesa/main/es1_conversion.h',
350         'src/src/mesa/main/eval.c',
351         'src/src/mesa/main/eval.h',
352         'src/src/mesa/main/execmem.c',
353         'src/src/mesa/main/extensions.c',
354         'src/src/mesa/main/extensions.h',
355         'src/src/mesa/main/fbobject.c',
356         'src/src/mesa/main/fbobject.h',
357         'src/src/mesa/main/feedback.c',
358         'src/src/mesa/main/feedback.h',
359         'src/src/mesa/main/ff_fragment_shader.cpp',
360         'src/src/mesa/main/ffvertex_prog.c',
361         'src/src/mesa/main/ffvertex_prog.h',
362         'src/src/mesa/main/fog.c',
363         'src/src/mesa/main/fog.h',
364         'src/src/mesa/main/format_pack.c',
365         'src/src/mesa/main/format_pack.h',
366         'src/src/mesa/main/format_unpack.c',
367         'src/src/mesa/main/format_unpack.h',
368         'src/src/mesa/main/formats.c',
369         'src/src/mesa/main/formats.h',
370         'src/src/mesa/main/framebuffer.c',
371         'src/src/mesa/main/framebuffer.h',
372         'src/src/mesa/main/get.c',
373         'src/src/mesa/main/get.h',
374         'src/src/mesa/main/getstring.c',
375         'src/src/mesa/main/glformats.c',
376         'src/src/mesa/main/glformats.h',
377         'src/src/mesa/main/hash.c',
378         'src/src/mesa/main/hash.h',
379         'src/src/mesa/main/hint.c',
380         'src/src/mesa/main/hint.h',
381         'src/src/mesa/main/histogram.c',
382         'src/src/mesa/main/histogram.h',
383         'src/src/mesa/main/image.c',
384         'src/src/mesa/main/image.h',
385         'src/src/mesa/main/imports.c',
386         'src/src/mesa/main/imports.h',
387         'src/src/mesa/main/light.c',
388         'src/src/mesa/main/light.h',
389         'src/src/mesa/main/lines.c',
390         'src/src/mesa/main/lines.h',
391         'src/src/mesa/main/matrix.c',
392         'src/src/mesa/main/matrix.h',
393         'src/src/mesa/main/mipmap.c',
394         'src/src/mesa/main/mipmap.h',
395         'src/src/mesa/main/mm.c',
396         'src/src/mesa/main/mm.h',
397         'src/src/mesa/main/multisample.c',
398         'src/src/mesa/main/multisample.h',
399         'src/src/mesa/main/nvprogram.c',
400         'src/src/mesa/main/nvprogram.h',
401         'src/src/mesa/main/pack.c',
402         'src/src/mesa/main/pack.h',
403         'src/src/mesa/main/pbo.c',
404         'src/src/mesa/main/pbo.h',
405         'src/src/mesa/main/pixel.c',
406         'src/src/mesa/main/pixel.h',
407         'src/src/mesa/main/pixelstore.c',
408         'src/src/mesa/main/pixelstore.h',
409         'src/src/mesa/main/pixeltransfer.c',
410         'src/src/mesa/main/pixeltransfer.h',
411         'src/src/mesa/main/points.c',
412         'src/src/mesa/main/points.h',
413         'src/src/mesa/main/polygon.c',
414         'src/src/mesa/main/polygon.h',
415         'src/src/mesa/main/querymatrix.c',
416         'src/src/mesa/main/queryobj.c',
417         'src/src/mesa/main/queryobj.h',
418         'src/src/mesa/main/rastpos.c',
419         'src/src/mesa/main/rastpos.h',
420         'src/src/mesa/main/readpix.c',
421         'src/src/mesa/main/readpix.h',
422         'src/src/mesa/main/remap.c',
423         'src/src/mesa/main/remap.h',
424         'src/src/mesa/main/renderbuffer.c',
425         'src/src/mesa/main/renderbuffer.h',
426         'src/src/mesa/main/samplerobj.c',
427         'src/src/mesa/main/samplerobj.h',
428         'src/src/mesa/main/scissor.c',
429         'src/src/mesa/main/scissor.h',
430         'src/src/mesa/main/shader_query.cpp',
431         'src/src/mesa/main/shaderapi.c',
432         'src/src/mesa/main/shaderapi.h',
433         'src/src/mesa/main/shaderobj.c',
434         'src/src/mesa/main/shaderobj.h',
435         'src/src/mesa/main/shared.c',
436         'src/src/mesa/main/shared.h',
437         'src/src/mesa/main/state.c',
438         'src/src/mesa/main/state.h',
439         'src/src/mesa/main/stencil.c',
440         'src/src/mesa/main/stencil.h',
441         'src/src/mesa/main/syncobj.c',
442         'src/src/mesa/main/syncobj.h',
443         'src/src/mesa/main/texcompress.c',
444         'src/src/mesa/main/texcompress.h',
445         'src/src/mesa/main/texcompress_cpal.c',
446         'src/src/mesa/main/texcompress_cpal.h',
447         'src/src/mesa/main/texcompress_etc.c',
448         'src/src/mesa/main/texcompress_etc.h',
449         'src/src/mesa/main/texcompress_fxt1.c',
450         'src/src/mesa/main/texcompress_fxt1.h',
451         'src/src/mesa/main/texcompress_rgtc.c',
452         'src/src/mesa/main/texcompress_rgtc.h',
453         'src/src/mesa/main/texcompress_s3tc.c',
454         'src/src/mesa/main/texcompress_s3tc.h',
455         'src/src/mesa/main/texenv.c',
456         'src/src/mesa/main/texenv.h',
457         'src/src/mesa/main/texformat.c',
458         'src/src/mesa/main/texformat.h',
459         'src/src/mesa/main/texgen.c',
460         'src/src/mesa/main/texgen.h',
461         'src/src/mesa/main/texgetimage.c',
462         'src/src/mesa/main/texgetimage.h',
463         'src/src/mesa/main/teximage.c',
464         'src/src/mesa/main/teximage.h',
465         'src/src/mesa/main/texobj.c',
466         'src/src/mesa/main/texobj.h',
467         'src/src/mesa/main/texparam.c',
468         'src/src/mesa/main/texparam.h',
469         'src/src/mesa/main/texstate.c',
470         'src/src/mesa/main/texstate.h',
471         'src/src/mesa/main/texstorage.c',
472         'src/src/mesa/main/texstorage.h',
473         'src/src/mesa/main/texstore.c',
474         'src/src/mesa/main/texstore.h',
475         'src/src/mesa/main/texturebarrier.c',
476         'src/src/mesa/main/texturebarrier.h',
477         'src/src/mesa/main/transformfeedback.c',
478         'src/src/mesa/main/transformfeedback.h',
479         'src/src/mesa/main/uniform_query.cpp',
480         'src/src/mesa/main/uniforms.c',
481         'src/src/mesa/main/uniforms.h',
482         'src/src/mesa/main/varray.c',
483         'src/src/mesa/main/varray.h',
484         'src/src/mesa/main/version.c',
485         'src/src/mesa/main/version.h',
486         'src/src/mesa/main/viewport.c',
487         'src/src/mesa/main/viewport.h',
488         'src/src/mesa/main/vtxfmt.c',
489         'src/src/mesa/main/vtxfmt.h',
490         'src/src/mesa/math/m_debug_clip.c',
491         'src/src/mesa/math/m_debug_norm.c',
492         'src/src/mesa/math/m_debug_xform.c',
493         'src/src/mesa/math/m_eval.c',
494         'src/src/mesa/math/m_eval.h',
495         'src/src/mesa/math/m_matrix.c',
496         'src/src/mesa/math/m_matrix.h',
497         'src/src/mesa/math/m_translate.c',
498         'src/src/mesa/math/m_translate.h',
499         'src/src/mesa/math/m_vector.c',
500         'src/src/mesa/math/m_vector.h',
501         'src/src/mesa/math/m_xform.c',
502         'src/src/mesa/math/m_xform.h',
503         'src/src/mesa/program/arbprogparse.c',
504         'src/src/mesa/program/arbprogparse.h',
505         'src/src/mesa/program/hash_table.c',
506         'src/src/mesa/program/hash_table.h',
507         'src/src/mesa/program/ir_to_mesa.cpp',
508         'src/src/mesa/program/ir_to_mesa.h',
509         '<(generated_src_dir)/mesa/lex.yy.c',
510         'src/src/mesa/program/nvfragparse.c',
511         'src/src/mesa/program/nvfragparse.h',
512         'src/src/mesa/program/nvvertparse.c',
513         'src/src/mesa/program/nvvertparse.h',
514         'src/src/mesa/program/prog_cache.c',
515         'src/src/mesa/program/prog_cache.h',
516         'src/src/mesa/program/prog_execute.c',
517         'src/src/mesa/program/prog_execute.h',
518         'src/src/mesa/program/prog_instruction.c',
519         'src/src/mesa/program/prog_instruction.h',
520         'src/src/mesa/program/prog_noise.c',
521         'src/src/mesa/program/prog_noise.h',
522         'src/src/mesa/program/prog_opt_constant_fold.c',
523         'src/src/mesa/program/prog_optimize.c',
524         'src/src/mesa/program/prog_optimize.h',
525         'src/src/mesa/program/prog_parameter.c',
526         'src/src/mesa/program/prog_parameter.h',
527         'src/src/mesa/program/prog_parameter_layout.c',
528         'src/src/mesa/program/prog_parameter_layout.h',
529         'src/src/mesa/program/prog_print.c',
530         'src/src/mesa/program/prog_print.h',
531         'src/src/mesa/program/prog_statevars.c',
532         'src/src/mesa/program/prog_statevars.h',
533         'src/src/mesa/program/program.c',
534         'src/src/mesa/program/program.h',
535         '<(generated_src_dir)/mesa/program/program_parse.tab.c',
536         '<(generated_src_dir)/mesa/program/program_parse.tab.h',
537         'src/src/mesa/program/program_parse_extra.c',
538         'src/src/mesa/program/programopt.c',
539         'src/src/mesa/program/programopt.h',
540         'src/src/mesa/program/register_allocate.c',
541         'src/src/mesa/program/register_allocate.h',
542         'src/src/mesa/program/sampler.cpp',
543         'src/src/mesa/program/sampler.h',
544         'src/src/mesa/program/string_to_uint_map.cpp',
545         'src/src/mesa/program/symbol_table.c',
546         'src/src/mesa/program/symbol_table.h',
547         'src/src/mesa/state_tracker/st_atom.c',
548         'src/src/mesa/state_tracker/st_atom.h',
549         'src/src/mesa/state_tracker/st_atom_array.c',
550         'src/src/mesa/state_tracker/st_atom_blend.c',
551         'src/src/mesa/state_tracker/st_atom_clip.c',
552         'src/src/mesa/state_tracker/st_atom_constbuf.c',
553         'src/src/mesa/state_tracker/st_atom_constbuf.h',
554         'src/src/mesa/state_tracker/st_atom_depth.c',
555         'src/src/mesa/state_tracker/st_atom_framebuffer.c',
556         'src/src/mesa/state_tracker/st_atom_msaa.c',
557         'src/src/mesa/state_tracker/st_atom_pixeltransfer.c',
558         'src/src/mesa/state_tracker/st_atom_rasterizer.c',
559         'src/src/mesa/state_tracker/st_atom_sampler.c',
560         'src/src/mesa/state_tracker/st_atom_scissor.c',
561         'src/src/mesa/state_tracker/st_atom_shader.c',
562         'src/src/mesa/state_tracker/st_atom_shader.h',
563         'src/src/mesa/state_tracker/st_atom_stipple.c',
564         'src/src/mesa/state_tracker/st_atom_texture.c',
565         'src/src/mesa/state_tracker/st_atom_viewport.c',
566         'src/src/mesa/state_tracker/st_cb_bitmap.c',
567         'src/src/mesa/state_tracker/st_cb_bitmap.h',
568         'src/src/mesa/state_tracker/st_cb_blit.c',
569         'src/src/mesa/state_tracker/st_cb_blit.h',
570         'src/src/mesa/state_tracker/st_cb_bufferobjects.c',
571         'src/src/mesa/state_tracker/st_cb_bufferobjects.h',
572         'src/src/mesa/state_tracker/st_cb_clear.c',
573         'src/src/mesa/state_tracker/st_cb_clear.h',
574         'src/src/mesa/state_tracker/st_cb_condrender.c',
575         'src/src/mesa/state_tracker/st_cb_condrender.h',
576         'src/src/mesa/state_tracker/st_cb_drawpixels.c',
577         'src/src/mesa/state_tracker/st_cb_drawpixels.h',
578         'src/src/mesa/state_tracker/st_cb_drawtex.c',
579         'src/src/mesa/state_tracker/st_cb_drawtex.h',
580         'src/src/mesa/state_tracker/st_cb_eglimage.c',
581         'src/src/mesa/state_tracker/st_cb_eglimage.h',
582         'src/src/mesa/state_tracker/st_cb_fbo.c',
583         'src/src/mesa/state_tracker/st_cb_fbo.h',
584         'src/src/mesa/state_tracker/st_cb_feedback.c',
585         'src/src/mesa/state_tracker/st_cb_feedback.h',
586         'src/src/mesa/state_tracker/st_cb_flush.c',
587         'src/src/mesa/state_tracker/st_cb_flush.h',
588         'src/src/mesa/state_tracker/st_cb_program.c',
589         'src/src/mesa/state_tracker/st_cb_program.h',
590         'src/src/mesa/state_tracker/st_cb_queryobj.c',
591         'src/src/mesa/state_tracker/st_cb_queryobj.h',
592         'src/src/mesa/state_tracker/st_cb_rasterpos.c',
593         'src/src/mesa/state_tracker/st_cb_rasterpos.h',
594         'src/src/mesa/state_tracker/st_cb_readpixels.c',
595         'src/src/mesa/state_tracker/st_cb_readpixels.h',
596         'src/src/mesa/state_tracker/st_cb_strings.c',
597         'src/src/mesa/state_tracker/st_cb_strings.h',
598         'src/src/mesa/state_tracker/st_cb_syncobj.c',
599         'src/src/mesa/state_tracker/st_cb_syncobj.h',
600         'src/src/mesa/state_tracker/st_cb_texture.c',
601         'src/src/mesa/state_tracker/st_cb_texture.h',
602         'src/src/mesa/state_tracker/st_cb_texturebarrier.c',
603         'src/src/mesa/state_tracker/st_cb_texturebarrier.h',
604         'src/src/mesa/state_tracker/st_cb_viewport.c',
605         'src/src/mesa/state_tracker/st_cb_viewport.h',
606         'src/src/mesa/state_tracker/st_cb_xformfb.c',
607         'src/src/mesa/state_tracker/st_cb_xformfb.h',
608         'src/src/mesa/state_tracker/st_context.c',
609         'src/src/mesa/state_tracker/st_context.h',
610         'src/src/mesa/state_tracker/st_debug.c',
611         'src/src/mesa/state_tracker/st_debug.h',
612         'src/src/mesa/state_tracker/st_draw.c',
613         'src/src/mesa/state_tracker/st_draw.h',
614         'src/src/mesa/state_tracker/st_draw_feedback.c',
615         'src/src/mesa/state_tracker/st_extensions.c',
616         'src/src/mesa/state_tracker/st_extensions.h',
617         'src/src/mesa/state_tracker/st_format.c',
618         'src/src/mesa/state_tracker/st_format.h',
619         'src/src/mesa/state_tracker/st_gen_mipmap.c',
620         'src/src/mesa/state_tracker/st_gen_mipmap.h',
621         'src/src/mesa/state_tracker/st_glsl_to_tgsi.cpp',
622         'src/src/mesa/state_tracker/st_glsl_to_tgsi.h',
623         'src/src/mesa/state_tracker/st_manager.c',
624         'src/src/mesa/state_tracker/st_manager.h',
625         'src/src/mesa/state_tracker/st_mesa_to_tgsi.c',
626         'src/src/mesa/state_tracker/st_mesa_to_tgsi.h',
627         'src/src/mesa/state_tracker/st_program.c',
628         'src/src/mesa/state_tracker/st_program.h',
629         'src/src/mesa/state_tracker/st_texture.c',
630         'src/src/mesa/state_tracker/st_texture.h',
631         'src/src/mesa/swrast/s_aaline.c',
632         'src/src/mesa/swrast/s_aaline.h',
633         'src/src/mesa/swrast/s_aatriangle.c',
634         'src/src/mesa/swrast/s_aatriangle.h',
635         'src/src/mesa/swrast/s_alpha.c',
636         'src/src/mesa/swrast/s_alpha.h',
637         'src/src/mesa/swrast/s_atifragshader.c',
638         'src/src/mesa/swrast/s_atifragshader.h',
639         'src/src/mesa/swrast/s_bitmap.c',
640         'src/src/mesa/swrast/s_blend.c',
641         'src/src/mesa/swrast/s_blend.h',
642         'src/src/mesa/swrast/s_blit.c',
643         'src/src/mesa/swrast/s_clear.c',
644         'src/src/mesa/swrast/s_context.c',
645         'src/src/mesa/swrast/s_context.h',
646         'src/src/mesa/swrast/s_copypix.c',
647         'src/src/mesa/swrast/s_depth.c',
648         'src/src/mesa/swrast/s_depth.h',
649         'src/src/mesa/swrast/s_drawpix.c',
650         'src/src/mesa/swrast/s_feedback.c',
651         'src/src/mesa/swrast/s_feedback.h',
652         'src/src/mesa/swrast/s_fog.c',
653         'src/src/mesa/swrast/s_fog.h',
654         'src/src/mesa/swrast/s_fragprog.c',
655         'src/src/mesa/swrast/s_fragprog.h',
656         'src/src/mesa/swrast/s_lines.c',
657         'src/src/mesa/swrast/s_lines.h',
658         'src/src/mesa/swrast/s_logic.c',
659         'src/src/mesa/swrast/s_logic.h',
660         'src/src/mesa/swrast/s_masking.c',
661         'src/src/mesa/swrast/s_masking.h',
662         'src/src/mesa/swrast/s_points.c',
663         'src/src/mesa/swrast/s_points.h',
664         'src/src/mesa/swrast/s_renderbuffer.c',
665         'src/src/mesa/swrast/s_renderbuffer.h',
666         'src/src/mesa/swrast/s_span.c',
667         'src/src/mesa/swrast/s_span.h',
668         'src/src/mesa/swrast/s_stencil.c',
669         'src/src/mesa/swrast/s_stencil.h',
670         'src/src/mesa/swrast/s_texcombine.c',
671         'src/src/mesa/swrast/s_texcombine.h',
672         'src/src/mesa/swrast/s_texfetch.c',
673         'src/src/mesa/swrast/s_texfetch.h',
674         'src/src/mesa/swrast/s_texfilter.c',
675         'src/src/mesa/swrast/s_texfilter.h',
676         'src/src/mesa/swrast/s_texrender.c',
677         'src/src/mesa/swrast/s_texture.c',
678         'src/src/mesa/swrast/s_triangle.c',
679         'src/src/mesa/swrast/s_triangle.h',
680         'src/src/mesa/swrast/s_zoom.c',
681         'src/src/mesa/swrast/s_zoom.h',
682         'src/src/mesa/swrast_setup/ss_context.c',
683         'src/src/mesa/swrast_setup/ss_context.h',
684         'src/src/mesa/swrast_setup/ss_triangle.c',
685         'src/src/mesa/swrast_setup/ss_triangle.h',
686         'src/src/mesa/tnl/t_context.c',
687         'src/src/mesa/tnl/t_context.h',
688         'src/src/mesa/tnl/t_draw.c',
689         'src/src/mesa/tnl/t_pipeline.c',
690         'src/src/mesa/tnl/t_pipeline.h',
691         'src/src/mesa/tnl/t_rasterpos.c',
692         'src/src/mesa/tnl/t_vb_fog.c',
693         'src/src/mesa/tnl/t_vb_light.c',
694         'src/src/mesa/tnl/t_vb_normals.c',
695         'src/src/mesa/tnl/t_vb_points.c',
696         'src/src/mesa/tnl/t_vb_program.c',
697         'src/src/mesa/tnl/t_vb_render.c',
698         'src/src/mesa/tnl/t_vb_texgen.c',
699         'src/src/mesa/tnl/t_vb_texmat.c',
700         'src/src/mesa/tnl/t_vb_vertex.c',
701         'src/src/mesa/tnl/t_vertex.c',
702         'src/src/mesa/tnl/t_vertex.h',
703         'src/src/mesa/tnl/t_vertex_generic.c',
704         'src/src/mesa/tnl/t_vertex_sse.c',
705         'src/src/mesa/tnl/t_vp_build.c',
706         'src/src/mesa/tnl/t_vp_build.h',
707         'src/src/mesa/vbo/vbo_context.c',
708         'src/src/mesa/vbo/vbo_context.h',
709         'src/src/mesa/vbo/vbo_exec.c',
710         'src/src/mesa/vbo/vbo_exec.h',
711         'src/src/mesa/vbo/vbo_exec_api.c',
712         'src/src/mesa/vbo/vbo_exec_array.c',
713         'src/src/mesa/vbo/vbo_exec_draw.c',
714         'src/src/mesa/vbo/vbo_exec_eval.c',
715         'src/src/mesa/vbo/vbo_noop.c',
716         'src/src/mesa/vbo/vbo_noop.h',
717         'src/src/mesa/vbo/vbo_primitive_restart.c',
718         'src/src/mesa/vbo/vbo_rebase.c',
719         'src/src/mesa/vbo/vbo_save.c',
720         'src/src/mesa/vbo/vbo_save.h',
721         'src/src/mesa/vbo/vbo_save_api.c',
722         'src/src/mesa/vbo/vbo_save_draw.c',
723         'src/src/mesa/vbo/vbo_save_loopback.c',
724         'src/src/mesa/vbo/vbo_split.c',
725         'src/src/mesa/vbo/vbo_split.h',
726         'src/src/mesa/vbo/vbo_split_copy.c',
727         'src/src/mesa/vbo/vbo_split_inplace.c',
728         'src/src/mesa/x86-64/x86-64.c',
729         'src/src/mesa/x86-64/x86-64.h',
730       ],
731       'conditions': [
732         ['clang == 1', {
733           'xcode_settings': {
734             'WARNING_CFLAGS': [
735               '-Wno-tautological-constant-out-of-range-compare',
736               '-Wno-absolute-value',  # Fires on st_atom_array.c, might be a bug
737             ],
738             'WARNING_CFLAGS!': [
739               # Don't warn about string->bool used in asserts.
740               '-Wstring-conversion',
741             ],
742           },
743           'cflags': [
744             '-Wno-tautological-constant-out-of-range-compare',
745             '-Wno-absolute-value',
746           ],
747           'cflags!': [
748             '-Wstring-conversion',
749           ],
750         }],
751         ['OS=="android" and clang==0', {
752           # Disable sincos() optimization to avoid a linker error
753           # since Android's math library doesn't have sincos().
754           # Either -fno-builtin-sin or -fno-builtin-cos works.
755           'cflags': [
756             '-fno-builtin-sin',
757           ],
758         }],
759         ['OS=="win"', {
760           'defines': [
761             # Because we're building as a static library
762             '_GLAPI_NO_EXPORTS',
763           ],
764         }],
765       ],
766     },
767     # Building this target will hide the native OpenGL shared library and
768     # replace it with a slow software renderer.
769     {
770       'target_name': 'osmesa',
771       'type': 'loadable_module',
772       'mac_bundle': 0,
773       'dependencies': [
774         'mesa_headers',
775         'mesa',
776       ],
777       'xcode_settings': {
778         'OTHER_LDFLAGS': [
779           '-lstdc++',
780         ],
781       },
782       'conditions': [
783         ['OS=="win"', {
784           'defines': [
785             'BUILD_GL32',
786             'KEYWORD1=GLAPI',
787             'KEYWORD2=GLAPIENTRY',
788           ],
789         }],
790       ],
791       'include_dirs': [
792         'src/src/mapi',
793         'src/src/mesa',
794         'src/src/mesa/drivers',
795         '<(generated_src_dir)/mesa',
796       ],
797       'msvs_disabled_warnings': [
798           4005, 4018, 4065, 4090, 4099, 4273, 4291, 4345, 4267,
799       ],
800       'sources': [
801         'src/src/mesa/drivers/common/driverfuncs.c',
802         'src/src/mesa/drivers/common/driverfuncs.h',
803         'src/src/mesa/drivers/common/meta.c',
804         'src/src/mesa/drivers/common/meta.h',
805         'src/src/mesa/drivers/osmesa/osmesa.c',
806         'src/src/mesa/drivers/osmesa/osmesa.def',
807       ],
808     },
809   ],
810   'conditions': [
811     ['OS=="android"', {
812       'targets': [
813         {
814           # Copies libosmesa.so to the out/$BUILDTYPE/lib/ directory so that
815           # the write_ordered_libraries.py script won't assume it to be a
816           # system library. This will cause the library to be stripped allowing
817           # targets to embed it in the to-be-generated APK.
818           'target_name': 'osmesa_in_lib_dir',
819           'type': 'none',
820           'dependencies': [
821             'osmesa',
822           ],
823           'actions': [
824             {
825               'action_name': 'copy_libosmesa',
826               'inputs': ['<(PRODUCT_DIR)/libosmesa.so'],
827               'outputs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
828               'action': [
829                 'cp',
830                 '<(PRODUCT_DIR)/libosmesa.so',
831                 '<(SHARED_LIB_DIR)/libosmesa.so',
832               ],
833             },
834           ],
835         },
836       ],
837     }],
838   ],