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