1 # Copyright 2014 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.
5 import("//build/config/ui.gni")
7 config("mesa_headers_config") {
8 include_dirs = [ "src/include" ]
10 defines = [ "MESA_EGL_NO_X11_HEADERS" ]
14 # This directory contains checked-in files generated from the Mesa build.
15 generated_src_dir = "src/chromium_gensrc"
17 source_set("mesa_headers") {
18 public_configs = [ ":mesa_headers_config" ]
21 # This config must generally be prepended to the configs list so that the Mesa
22 # dirs appear before the system ones on Windows. This is necessary so that
23 # #include "GL/gl.h" means to include Mesa's, not the system's.
24 config("mesa_internal_config") {
27 "MAPI_ABI_HEADER=\"glapi_mapi_tmp_shared.h\"",
28 "PACKAGE_NAME=\"Mesa\"",
29 "PACKAGE_TARNAME=\"mesa\"",
30 "PACKAGE_VERSION=\"9.0.3\"",
31 "PACKAGE_STRING=\"Mesa\ 9.0.3\"",
32 "PACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"",
46 "LT_OBJDIR=\".libs/\"",
56 "GLX_INDIRECT_RENDERING",
57 "GLX_DIRECT_RENDERING",
58 "USE_EXTERNAL_DXTN_LIB=1",
66 "src/src/gallium/auxiliary",
67 "src/src/gallium/include",
75 "$generated_src_dir/mesa/",
76 "$generated_src_dir/mesa/main",
77 "$generated_src_dir/mesa/program",
78 "$generated_src_dir/mesa/glapi",
89 defines += [ "_GNU_SOURCE" ]
94 # Generated files use const only if __cplusplus or __STDC__ is defined.
95 # On Windows, neither is defined, so define YY_USE_CONST to explicitly
109 defines += [ "HAVE_POSIX_MEMALIGN" ]
112 if (!is_android && !is_mac) {
113 cflags += [ "-fPIC" ]
118 # mesa_internal_config is prepended to the config lists. Flags that
119 # disable warnings need to be appended instead so that they show up
120 # after flags like -Wall. (gn orders flags on a target before flags from
122 config("mesa_internal_warnings") {
126 "-Wno-tautological-constant-out-of-range-compare",
127 "-Wno-mismatched-tags", # Fixed upstream.
129 # mesa's STATIC_ASSERT() macro expands to an ununused typedef.
130 "-Wno-unused-local-typedef",
134 # TODO(scottmg): http://crbug.com/143877 These should be removed if
135 # Mesa is ever rolled and the warnings are fixed.
137 "/wd4005", # Macro defined twice.
138 "/wd4018", # Signed/unsigned mismatch in comparison.
139 "/wd4065", # Switch statement contains 'default' but no 'case' labels.
140 "/wd4090", # 'Operation' : different 'modifier' qualifiers
141 "/wd4099", # Type name struct-vs-class doesn't match.
142 "/wd4273", # Inconsistent DLL linkage.
143 "/wd4291", # No matching operator delete found for placement new.
144 "/wd4305", # Truncation from int to float.
145 "/wd4334", # Result of 32-bit shift implicitly converted to 64 bits.
146 "/wd4345", # POD-type default initializers.
151 static_library("mesa_libglslcommon") {
153 "$generated_src_dir/mesa/glcpp-lex.c",
154 "$generated_src_dir/mesa/glcpp-parse.c",
155 "$generated_src_dir/mesa/glcpp-parse.h",
156 "$generated_src_dir/mesa/glsl_lexer.cc",
157 "$generated_src_dir/mesa/glsl_parser.cc",
158 "$generated_src_dir/mesa/main/dispatch.h",
159 "src/src/glsl/ast_expr.cpp",
160 "src/src/glsl/ast_function.cpp",
161 "src/src/glsl/ast_to_hir.cpp",
162 "src/src/glsl/ast_type.cpp",
163 "src/src/glsl/builtin_variables.cpp",
164 "src/src/glsl/glcpp/glcpp.h",
165 "src/src/glsl/glcpp/pp.c",
166 "src/src/glsl/glsl_parser_extras.cpp",
167 "src/src/glsl/glsl_parser_extras.h",
168 "src/src/glsl/glsl_symbol_table.cpp",
169 "src/src/glsl/glsl_symbol_table.h",
170 "src/src/glsl/glsl_types.cpp",
171 "src/src/glsl/glsl_types.h",
172 "src/src/glsl/hir_field_selection.cpp",
173 "src/src/glsl/ir.cpp",
175 "src/src/glsl/ir_basic_block.cpp",
176 "src/src/glsl/ir_basic_block.h",
177 "src/src/glsl/ir_builder.cpp",
178 "src/src/glsl/ir_builder.h",
179 "src/src/glsl/ir_clone.cpp",
180 "src/src/glsl/ir_constant_expression.cpp",
181 "src/src/glsl/ir_expression_flattening.cpp",
182 "src/src/glsl/ir_expression_flattening.h",
183 "src/src/glsl/ir_function.cpp",
184 "src/src/glsl/ir_function_can_inline.cpp",
185 "src/src/glsl/ir_function_detect_recursion.cpp",
186 "src/src/glsl/ir_hierarchical_visitor.cpp",
187 "src/src/glsl/ir_hierarchical_visitor.h",
188 "src/src/glsl/ir_hv_accept.cpp",
189 "src/src/glsl/ir_import_prototypes.cpp",
190 "src/src/glsl/ir_print_visitor.cpp",
191 "src/src/glsl/ir_print_visitor.h",
192 "src/src/glsl/ir_reader.cpp",
193 "src/src/glsl/ir_reader.h",
194 "src/src/glsl/ir_rvalue_visitor.cpp",
195 "src/src/glsl/ir_rvalue_visitor.h",
196 "src/src/glsl/ir_set_program_inouts.cpp",
197 "src/src/glsl/ir_validate.cpp",
198 "src/src/glsl/ir_variable_refcount.cpp",
199 "src/src/glsl/ir_variable_refcount.h",
200 "src/src/glsl/link_functions.cpp",
201 "src/src/glsl/link_uniform_initializers.cpp",
202 "src/src/glsl/link_uniforms.cpp",
203 "src/src/glsl/linker.cpp",
204 "src/src/glsl/linker.h",
205 "src/src/glsl/loop_analysis.cpp",
206 "src/src/glsl/loop_analysis.h",
207 "src/src/glsl/loop_controls.cpp",
208 "src/src/glsl/loop_unroll.cpp",
209 "src/src/glsl/lower_clip_distance.cpp",
210 "src/src/glsl/lower_discard.cpp",
211 "src/src/glsl/lower_discard_flow.cpp",
212 "src/src/glsl/lower_if_to_cond_assign.cpp",
213 "src/src/glsl/lower_instructions.cpp",
214 "src/src/glsl/lower_jumps.cpp",
215 "src/src/glsl/lower_mat_op_to_vec.cpp",
216 "src/src/glsl/lower_noise.cpp",
217 "src/src/glsl/lower_output_reads.cpp",
218 "src/src/glsl/lower_texture_projection.cpp",
219 "src/src/glsl/lower_ubo_reference.cpp",
220 "src/src/glsl/lower_variable_index_to_cond_assign.cpp",
221 "src/src/glsl/lower_vec_index_to_cond_assign.cpp",
222 "src/src/glsl/lower_vec_index_to_swizzle.cpp",
223 "src/src/glsl/lower_vector.cpp",
224 "src/src/glsl/opt_algebraic.cpp",
225 "src/src/glsl/opt_array_splitting.cpp",
226 "src/src/glsl/opt_constant_folding.cpp",
227 "src/src/glsl/opt_constant_propagation.cpp",
228 "src/src/glsl/opt_constant_variable.cpp",
229 "src/src/glsl/opt_copy_propagation.cpp",
230 "src/src/glsl/opt_copy_propagation_elements.cpp",
231 "src/src/glsl/opt_dead_code.cpp",
232 "src/src/glsl/opt_dead_code_local.cpp",
233 "src/src/glsl/opt_dead_functions.cpp",
234 "src/src/glsl/opt_function_inlining.cpp",
235 "src/src/glsl/opt_if_simplification.cpp",
236 "src/src/glsl/opt_noop_swizzle.cpp",
237 "src/src/glsl/opt_redundant_jumps.cpp",
238 "src/src/glsl/opt_structure_splitting.cpp",
239 "src/src/glsl/opt_swizzle_swizzle.cpp",
240 "src/src/glsl/opt_tree_grafting.cpp",
241 "src/src/glsl/program.h",
242 "src/src/glsl/ralloc.c",
243 "src/src/glsl/ralloc.h",
244 "src/src/glsl/s_expression.cpp",
245 "src/src/glsl/s_expression.h",
247 # Skipped in the GN build. This file duplicates symbols from errors.c and
248 # happens to link in GYP due to static library link ordering.
249 #"src/src/glsl/standalone_scaffolding.cpp",
250 #"src/src/glsl/standalone_scaffolding.h",
251 "src/src/glsl/strtod.c",
252 "src/src/glsl/strtod.h",
255 config("mesa_libglslcommon_warnings") {
258 # https://bugs.freedesktop.org/show_bug.cgi?id=91645:
259 "-Wno-overloaded-virtual",
264 configs -= [ "//build/config/compiler:chromium_code" ]
265 configs += [ "//build/config/compiler:no_chromium_code" ]
266 previous_configs = configs
268 configs = [ ":mesa_internal_config" ] + previous_configs + [
269 ":mesa_internal_warnings",
270 ":mesa_libglslcommon_warnings",
274 # Mesa triggers some of these Clang warnings.
275 configs -= [ "//build/config/clang:extra_warnings" ]
283 static_library("mesa") {
285 "$generated_src_dir/mesa/builtin_function.cpp",
286 "$generated_src_dir/mesa/enums.c",
287 "$generated_src_dir/mesa/glapi_mapi_tmp_shared.h",
288 "$generated_src_dir/mesa/lex.yy.c",
289 "$generated_src_dir/mesa/program/program_parse.tab.c",
290 "$generated_src_dir/mesa/program/program_parse.tab.h",
291 "src/src/mapi/mapi/entry.c",
292 "src/src/mapi/mapi/entry.h",
293 "src/src/mapi/mapi/mapi_glapi.c",
294 "src/src/mapi/mapi/stub.c",
295 "src/src/mapi/mapi/stub.h",
296 "src/src/mapi/mapi/table.c",
297 "src/src/mapi/mapi/table.h",
298 "src/src/mapi/mapi/u_current.c",
299 "src/src/mapi/mapi/u_current.h",
300 "src/src/mapi/mapi/u_execmem.c",
301 "src/src/mapi/mapi/u_execmem.h",
302 "src/src/mesa/main/accum.c",
303 "src/src/mesa/main/accum.h",
304 "src/src/mesa/main/api_arrayelt.c",
305 "src/src/mesa/main/api_arrayelt.h",
306 "src/src/mesa/main/api_exec.c",
307 "src/src/mesa/main/api_exec.h",
308 "src/src/mesa/main/api_loopback.c",
309 "src/src/mesa/main/api_loopback.h",
310 "src/src/mesa/main/api_validate.c",
311 "src/src/mesa/main/api_validate.h",
312 "src/src/mesa/main/arbprogram.c",
313 "src/src/mesa/main/arbprogram.h",
314 "src/src/mesa/main/arrayobj.c",
315 "src/src/mesa/main/arrayobj.h",
316 "src/src/mesa/main/atifragshader.c",
317 "src/src/mesa/main/atifragshader.h",
318 "src/src/mesa/main/attrib.c",
319 "src/src/mesa/main/attrib.h",
320 "src/src/mesa/main/blend.c",
321 "src/src/mesa/main/blend.h",
322 "src/src/mesa/main/bufferobj.c",
323 "src/src/mesa/main/bufferobj.h",
324 "src/src/mesa/main/buffers.c",
325 "src/src/mesa/main/buffers.h",
326 "src/src/mesa/main/clear.c",
327 "src/src/mesa/main/clear.h",
328 "src/src/mesa/main/clip.c",
329 "src/src/mesa/main/clip.h",
330 "src/src/mesa/main/colortab.c",
331 "src/src/mesa/main/colortab.h",
332 "src/src/mesa/main/condrender.c",
333 "src/src/mesa/main/condrender.h",
334 "src/src/mesa/main/context.c",
335 "src/src/mesa/main/context.h",
336 "src/src/mesa/main/convolve.c",
337 "src/src/mesa/main/convolve.h",
338 "src/src/mesa/main/cpuinfo.c",
339 "src/src/mesa/main/cpuinfo.h",
340 "src/src/mesa/main/debug.c",
341 "src/src/mesa/main/debug.h",
342 "src/src/mesa/main/depth.c",
343 "src/src/mesa/main/depth.h",
344 "src/src/mesa/main/dlist.c",
345 "src/src/mesa/main/dlist.h",
346 "src/src/mesa/main/drawpix.c",
347 "src/src/mesa/main/drawpix.h",
348 "src/src/mesa/main/drawtex.c",
349 "src/src/mesa/main/drawtex.h",
350 "src/src/mesa/main/enable.c",
351 "src/src/mesa/main/enable.h",
352 "src/src/mesa/main/enums.h",
353 "src/src/mesa/main/errors.c",
354 "src/src/mesa/main/errors.h",
355 "src/src/mesa/main/eval.c",
356 "src/src/mesa/main/eval.h",
357 "src/src/mesa/main/execmem.c",
358 "src/src/mesa/main/extensions.c",
359 "src/src/mesa/main/extensions.h",
360 "src/src/mesa/main/fbobject.c",
361 "src/src/mesa/main/fbobject.h",
362 "src/src/mesa/main/feedback.c",
363 "src/src/mesa/main/feedback.h",
364 "src/src/mesa/main/ff_fragment_shader.cpp",
365 "src/src/mesa/main/ffvertex_prog.c",
366 "src/src/mesa/main/ffvertex_prog.h",
367 "src/src/mesa/main/fog.c",
368 "src/src/mesa/main/fog.h",
369 "src/src/mesa/main/format_pack.c",
370 "src/src/mesa/main/format_pack.h",
371 "src/src/mesa/main/format_unpack.c",
372 "src/src/mesa/main/format_unpack.h",
373 "src/src/mesa/main/formats.c",
374 "src/src/mesa/main/formats.h",
375 "src/src/mesa/main/framebuffer.c",
376 "src/src/mesa/main/framebuffer.h",
377 "src/src/mesa/main/get.c",
378 "src/src/mesa/main/get.h",
379 "src/src/mesa/main/getstring.c",
380 "src/src/mesa/main/glformats.c",
381 "src/src/mesa/main/glformats.h",
382 "src/src/mesa/main/hash.c",
383 "src/src/mesa/main/hash.h",
384 "src/src/mesa/main/hint.c",
385 "src/src/mesa/main/hint.h",
386 "src/src/mesa/main/histogram.c",
387 "src/src/mesa/main/histogram.h",
388 "src/src/mesa/main/image.c",
389 "src/src/mesa/main/image.h",
390 "src/src/mesa/main/imports.c",
391 "src/src/mesa/main/imports.h",
392 "src/src/mesa/main/light.c",
393 "src/src/mesa/main/light.h",
394 "src/src/mesa/main/lines.c",
395 "src/src/mesa/main/lines.h",
396 "src/src/mesa/main/matrix.c",
397 "src/src/mesa/main/matrix.h",
398 "src/src/mesa/main/mipmap.c",
399 "src/src/mesa/main/mipmap.h",
400 "src/src/mesa/main/mm.c",
401 "src/src/mesa/main/mm.h",
402 "src/src/mesa/main/multisample.c",
403 "src/src/mesa/main/multisample.h",
404 "src/src/mesa/main/nvprogram.c",
405 "src/src/mesa/main/nvprogram.h",
406 "src/src/mesa/main/pack.c",
407 "src/src/mesa/main/pack.h",
408 "src/src/mesa/main/pbo.c",
409 "src/src/mesa/main/pbo.h",
410 "src/src/mesa/main/pixel.c",
411 "src/src/mesa/main/pixel.h",
412 "src/src/mesa/main/pixelstore.c",
413 "src/src/mesa/main/pixelstore.h",
414 "src/src/mesa/main/pixeltransfer.c",
415 "src/src/mesa/main/pixeltransfer.h",
416 "src/src/mesa/main/points.c",
417 "src/src/mesa/main/points.h",
418 "src/src/mesa/main/polygon.c",
419 "src/src/mesa/main/polygon.h",
420 "src/src/mesa/main/queryobj.c",
421 "src/src/mesa/main/queryobj.h",
422 "src/src/mesa/main/rastpos.c",
423 "src/src/mesa/main/rastpos.h",
424 "src/src/mesa/main/readpix.c",
425 "src/src/mesa/main/readpix.h",
426 "src/src/mesa/main/remap.c",
427 "src/src/mesa/main/remap.h",
428 "src/src/mesa/main/renderbuffer.c",
429 "src/src/mesa/main/renderbuffer.h",
430 "src/src/mesa/main/samplerobj.c",
431 "src/src/mesa/main/samplerobj.h",
432 "src/src/mesa/main/scissor.c",
433 "src/src/mesa/main/scissor.h",
434 "src/src/mesa/main/shader_query.cpp",
435 "src/src/mesa/main/shaderapi.c",
436 "src/src/mesa/main/shaderapi.h",
437 "src/src/mesa/main/shaderobj.c",
438 "src/src/mesa/main/shaderobj.h",
439 "src/src/mesa/main/shared.c",
440 "src/src/mesa/main/shared.h",
441 "src/src/mesa/main/state.c",
442 "src/src/mesa/main/state.h",
443 "src/src/mesa/main/stencil.c",
444 "src/src/mesa/main/stencil.h",
445 "src/src/mesa/main/syncobj.c",
446 "src/src/mesa/main/syncobj.h",
447 "src/src/mesa/main/texcompress.c",
448 "src/src/mesa/main/texcompress.h",
449 "src/src/mesa/main/texcompress_cpal.c",
450 "src/src/mesa/main/texcompress_cpal.h",
451 "src/src/mesa/main/texcompress_etc.c",
452 "src/src/mesa/main/texcompress_etc.h",
453 "src/src/mesa/main/texcompress_fxt1.c",
454 "src/src/mesa/main/texcompress_fxt1.h",
455 "src/src/mesa/main/texcompress_rgtc.c",
456 "src/src/mesa/main/texcompress_rgtc.h",
457 "src/src/mesa/main/texcompress_s3tc.c",
458 "src/src/mesa/main/texcompress_s3tc.h",
459 "src/src/mesa/main/texenv.c",
460 "src/src/mesa/main/texenv.h",
461 "src/src/mesa/main/texformat.c",
462 "src/src/mesa/main/texformat.h",
463 "src/src/mesa/main/texgen.c",
464 "src/src/mesa/main/texgen.h",
465 "src/src/mesa/main/texgetimage.c",
466 "src/src/mesa/main/texgetimage.h",
467 "src/src/mesa/main/teximage.c",
468 "src/src/mesa/main/teximage.h",
469 "src/src/mesa/main/texobj.c",
470 "src/src/mesa/main/texobj.h",
471 "src/src/mesa/main/texparam.c",
472 "src/src/mesa/main/texparam.h",
473 "src/src/mesa/main/texstate.c",
474 "src/src/mesa/main/texstate.h",
475 "src/src/mesa/main/texstorage.c",
476 "src/src/mesa/main/texstorage.h",
477 "src/src/mesa/main/texstore.c",
478 "src/src/mesa/main/texstore.h",
479 "src/src/mesa/main/texturebarrier.c",
480 "src/src/mesa/main/texturebarrier.h",
481 "src/src/mesa/main/transformfeedback.c",
482 "src/src/mesa/main/transformfeedback.h",
483 "src/src/mesa/main/uniform_query.cpp",
484 "src/src/mesa/main/uniforms.c",
485 "src/src/mesa/main/uniforms.h",
486 "src/src/mesa/main/varray.c",
487 "src/src/mesa/main/varray.h",
488 "src/src/mesa/main/version.c",
489 "src/src/mesa/main/version.h",
490 "src/src/mesa/main/viewport.c",
491 "src/src/mesa/main/viewport.h",
492 "src/src/mesa/main/vtxfmt.c",
493 "src/src/mesa/main/vtxfmt.h",
494 "src/src/mesa/math/m_debug_clip.c",
495 "src/src/mesa/math/m_debug_norm.c",
496 "src/src/mesa/math/m_debug_xform.c",
497 "src/src/mesa/math/m_eval.c",
498 "src/src/mesa/math/m_eval.h",
499 "src/src/mesa/math/m_matrix.c",
500 "src/src/mesa/math/m_matrix.h",
501 "src/src/mesa/math/m_translate.c",
502 "src/src/mesa/math/m_translate.h",
503 "src/src/mesa/math/m_vector.c",
504 "src/src/mesa/math/m_vector.h",
505 "src/src/mesa/math/m_xform.c",
506 "src/src/mesa/math/m_xform.h",
507 "src/src/mesa/program/arbprogparse.c",
508 "src/src/mesa/program/arbprogparse.h",
509 "src/src/mesa/program/hash_table.c",
510 "src/src/mesa/program/hash_table.h",
511 "src/src/mesa/program/ir_to_mesa.cpp",
512 "src/src/mesa/program/ir_to_mesa.h",
513 "src/src/mesa/program/nvfragparse.c",
514 "src/src/mesa/program/nvfragparse.h",
515 "src/src/mesa/program/nvvertparse.c",
516 "src/src/mesa/program/nvvertparse.h",
517 "src/src/mesa/program/prog_cache.c",
518 "src/src/mesa/program/prog_cache.h",
519 "src/src/mesa/program/prog_execute.c",
520 "src/src/mesa/program/prog_execute.h",
521 "src/src/mesa/program/prog_instruction.c",
522 "src/src/mesa/program/prog_instruction.h",
523 "src/src/mesa/program/prog_noise.c",
524 "src/src/mesa/program/prog_noise.h",
525 "src/src/mesa/program/prog_opt_constant_fold.c",
526 "src/src/mesa/program/prog_optimize.c",
527 "src/src/mesa/program/prog_optimize.h",
528 "src/src/mesa/program/prog_parameter.c",
529 "src/src/mesa/program/prog_parameter.h",
530 "src/src/mesa/program/prog_parameter_layout.c",
531 "src/src/mesa/program/prog_parameter_layout.h",
532 "src/src/mesa/program/prog_print.c",
533 "src/src/mesa/program/prog_print.h",
534 "src/src/mesa/program/prog_statevars.c",
535 "src/src/mesa/program/prog_statevars.h",
536 "src/src/mesa/program/program.c",
537 "src/src/mesa/program/program.h",
538 "src/src/mesa/program/program_parse_extra.c",
539 "src/src/mesa/program/programopt.c",
540 "src/src/mesa/program/programopt.h",
541 "src/src/mesa/program/register_allocate.c",
542 "src/src/mesa/program/register_allocate.h",
543 "src/src/mesa/program/sampler.cpp",
544 "src/src/mesa/program/sampler.h",
545 "src/src/mesa/program/string_to_uint_map.cpp",
546 "src/src/mesa/program/symbol_table.c",
547 "src/src/mesa/program/symbol_table.h",
548 "src/src/mesa/swrast/s_aaline.c",
549 "src/src/mesa/swrast/s_aaline.h",
550 "src/src/mesa/swrast/s_aatriangle.c",
551 "src/src/mesa/swrast/s_aatriangle.h",
552 "src/src/mesa/swrast/s_alpha.c",
553 "src/src/mesa/swrast/s_alpha.h",
554 "src/src/mesa/swrast/s_atifragshader.c",
555 "src/src/mesa/swrast/s_atifragshader.h",
556 "src/src/mesa/swrast/s_bitmap.c",
557 "src/src/mesa/swrast/s_blend.c",
558 "src/src/mesa/swrast/s_blend.h",
559 "src/src/mesa/swrast/s_blit.c",
560 "src/src/mesa/swrast/s_clear.c",
561 "src/src/mesa/swrast/s_context.c",
562 "src/src/mesa/swrast/s_context.h",
563 "src/src/mesa/swrast/s_copypix.c",
564 "src/src/mesa/swrast/s_depth.c",
565 "src/src/mesa/swrast/s_depth.h",
566 "src/src/mesa/swrast/s_drawpix.c",
567 "src/src/mesa/swrast/s_feedback.c",
568 "src/src/mesa/swrast/s_feedback.h",
569 "src/src/mesa/swrast/s_fog.c",
570 "src/src/mesa/swrast/s_fog.h",
571 "src/src/mesa/swrast/s_fragprog.c",
572 "src/src/mesa/swrast/s_fragprog.h",
573 "src/src/mesa/swrast/s_lines.c",
574 "src/src/mesa/swrast/s_lines.h",
575 "src/src/mesa/swrast/s_logic.c",
576 "src/src/mesa/swrast/s_logic.h",
577 "src/src/mesa/swrast/s_masking.c",
578 "src/src/mesa/swrast/s_masking.h",
579 "src/src/mesa/swrast/s_points.c",
580 "src/src/mesa/swrast/s_points.h",
581 "src/src/mesa/swrast/s_renderbuffer.c",
582 "src/src/mesa/swrast/s_renderbuffer.h",
583 "src/src/mesa/swrast/s_span.c",
584 "src/src/mesa/swrast/s_span.h",
585 "src/src/mesa/swrast/s_stencil.c",
586 "src/src/mesa/swrast/s_stencil.h",
587 "src/src/mesa/swrast/s_texcombine.c",
588 "src/src/mesa/swrast/s_texcombine.h",
589 "src/src/mesa/swrast/s_texfetch.c",
590 "src/src/mesa/swrast/s_texfetch.h",
591 "src/src/mesa/swrast/s_texfilter.c",
592 "src/src/mesa/swrast/s_texfilter.h",
593 "src/src/mesa/swrast/s_texrender.c",
594 "src/src/mesa/swrast/s_texture.c",
595 "src/src/mesa/swrast/s_triangle.c",
596 "src/src/mesa/swrast/s_triangle.h",
597 "src/src/mesa/swrast/s_zoom.c",
598 "src/src/mesa/swrast/s_zoom.h",
599 "src/src/mesa/swrast_setup/ss_context.c",
600 "src/src/mesa/swrast_setup/ss_context.h",
601 "src/src/mesa/swrast_setup/ss_triangle.c",
602 "src/src/mesa/swrast_setup/ss_triangle.h",
603 "src/src/mesa/tnl/t_context.c",
604 "src/src/mesa/tnl/t_context.h",
605 "src/src/mesa/tnl/t_draw.c",
606 "src/src/mesa/tnl/t_pipeline.c",
607 "src/src/mesa/tnl/t_pipeline.h",
608 "src/src/mesa/tnl/t_rasterpos.c",
609 "src/src/mesa/tnl/t_vb_fog.c",
610 "src/src/mesa/tnl/t_vb_light.c",
611 "src/src/mesa/tnl/t_vb_normals.c",
612 "src/src/mesa/tnl/t_vb_points.c",
613 "src/src/mesa/tnl/t_vb_program.c",
614 "src/src/mesa/tnl/t_vb_render.c",
615 "src/src/mesa/tnl/t_vb_texgen.c",
616 "src/src/mesa/tnl/t_vb_texmat.c",
617 "src/src/mesa/tnl/t_vb_vertex.c",
618 "src/src/mesa/tnl/t_vertex.c",
619 "src/src/mesa/tnl/t_vertex.h",
620 "src/src/mesa/tnl/t_vertex_generic.c",
621 "src/src/mesa/tnl/t_vertex_sse.c",
622 "src/src/mesa/tnl/t_vp_build.c",
623 "src/src/mesa/tnl/t_vp_build.h",
624 "src/src/mesa/vbo/vbo_context.c",
625 "src/src/mesa/vbo/vbo_context.h",
626 "src/src/mesa/vbo/vbo_exec.c",
627 "src/src/mesa/vbo/vbo_exec.h",
628 "src/src/mesa/vbo/vbo_exec_api.c",
629 "src/src/mesa/vbo/vbo_exec_array.c",
630 "src/src/mesa/vbo/vbo_exec_draw.c",
631 "src/src/mesa/vbo/vbo_exec_eval.c",
632 "src/src/mesa/vbo/vbo_noop.c",
633 "src/src/mesa/vbo/vbo_noop.h",
634 "src/src/mesa/vbo/vbo_primitive_restart.c",
635 "src/src/mesa/vbo/vbo_rebase.c",
636 "src/src/mesa/vbo/vbo_save.c",
637 "src/src/mesa/vbo/vbo_save.h",
638 "src/src/mesa/vbo/vbo_save_api.c",
639 "src/src/mesa/vbo/vbo_save_draw.c",
640 "src/src/mesa/vbo/vbo_save_loopback.c",
641 "src/src/mesa/vbo/vbo_split.c",
642 "src/src/mesa/vbo/vbo_split.h",
643 "src/src/mesa/vbo/vbo_split_copy.c",
644 "src/src/mesa/vbo/vbo_split_inplace.c",
645 "src/src/mesa/x86-64/x86-64.c",
646 "src/src/mesa/x86-64/x86-64.h",
649 configs -= [ "//build/config/compiler:chromium_code" ]
650 configs += [ "//build/config/compiler:no_chromium_code" ]
651 previous_configs = configs
653 configs = [ ":mesa_internal_config" ] + previous_configs +
654 [ ":mesa_internal_warnings" ]
657 # Mesa triggers some of these Clang warnings.
658 configs -= [ "//build/config/clang:extra_warnings" ]
663 if (is_android && !is_clang) {
664 # Disable sincos() optimization to avoid a linker error
665 # since Android's math library doesn't have sincos().
666 # Either -fno-builtin-sin or -fno-builtin-cos works.
667 cflags += [ "-fno-builtin-sin" ]
672 # Because we're building as a static library
682 if (!is_android) { # TODO(GYP) enable for Android.
683 # Building this target will hide the native OpenGL shared library and
684 # replace it with a slow software renderer.
686 # Note: on x64 Windows this target gives warnings to the effect of:
687 # osmesa.osmesa.obj : warning LNK4197: export 'OSMesaGetIntegerv' specified
688 # multiple times; using first specification
689 # This also happens with the GYP build.
690 shared_library("osmesa") {
692 "src/src/mesa/drivers/common/driverfuncs.c",
693 "src/src/mesa/drivers/common/driverfuncs.h",
694 "src/src/mesa/drivers/common/meta.c",
695 "src/src/mesa/drivers/common/meta.h",
696 "src/src/mesa/drivers/osmesa/osmesa.c",
699 configs -= [ "//build/config/compiler:chromium_code" ]
701 ":mesa_headers_config",
702 "//build/config/compiler:no_chromium_code",
704 previous_configs = configs
706 configs = [ ":mesa_internal_config" ] + previous_configs +
707 [ ":mesa_internal_warnings" ]
709 include_dirs = [ "src/src/mesa/drivers" ]
712 # Mesa triggers some of these Clang warnings.
713 configs -= [ "//build/config/clang:extra_warnings" ]
718 [ "/DEF:" + rebase_path("src/src/mesa/drivers/osmesa/osmesa.def",
725 ":mesa_libglslcommon",
732 "KEYWORD2=GLAPIENTRY",
737 # Placeholder to allow targets to unconditionally depend on this.
741 # TODO(GYP) Android osmesa_in_lib_dir target.