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