Home | History | Annotate | Download | only in gles2_conform_support
      1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 {
      6 
      7   'includes': [
      8     'gles2_conform.gypi',
      9   ],
     10   'target_defaults': {
     11     'msvs_disabled_warnings': [4005, 4013, 4018, 4101, 4716],
     12      'include_dirs': [
     13        '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data',
     14        '../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source',
     15      ],
     16   },
     17   'targets': [
     18     {
     19       'target_name': 'gles2_conform_test',
     20       'type': 'executable',
     21       'dependencies': [
     22         '<(DEPTH)/base/base.gyp:base',
     23         '<(DEPTH)/gpu/gpu.gyp:gpu',
     24         '<(DEPTH)/testing/gtest.gyp:gtest',
     25       ],
     26       'sources': [
     27         'gles2_conform_test.cc',
     28       ],
     29       'conditions': [
     30         ['internal_gles2_conform_tests', {
     31           'dependencies': [
     32             'gles2_conform_test_windowless',
     33           ],
     34           'variables': {
     35             'gles2_conform_test_output_dir': '<(SHARED_INTERMEDIATE_DIR)/gpu/gles2_conform_test',
     36           },
     37           'sources': [
     38             '<(gles2_conform_test_output_dir)/gles2_conform_test_autogen.cc',
     39           ],
     40           'actions': [
     41             {
     42               'action_name': 'generate_gles2_conform_tests',
     43               'inputs': [
     44                 'generate_gles2_conform_tests.py',
     45                 'gles2_conform_test.h',
     46                 '<(DEPTH)/third_party/gles2_conform/GTF_ES/glsl/GTF/mustpass_es20.run',
     47               ],
     48               'outputs': [
     49                 '<(gles2_conform_test_output_dir)/gles2_conform_test_autogen.cc',
     50               ],
     51               'action': [
     52                 'python',
     53                 'generate_gles2_conform_tests.py',
     54                 '<(gles2_conform_test_output_dir)',
     55               ],
     56             },
     57           ],
     58         }], # internal_gles2_conform_tests
     59       ],
     60     },
     61     # TODO(alokp): Add gles2_conform_test_pepper target
     62   ],
     63   'conditions': [
     64     ['internal_gles2_conform_tests', {
     65       'targets': [
     66         {
     67           'target_name': 'gles2_conform_test_embedded_data',
     68           'type': 'none',
     69           'hard_dependency': 1,
     70           'actions': [
     71             {
     72               'action_name': 'generate_gles2_conform_embedded_files',
     73               'variables': {
     74                 'generator_path': 'generate_gles2_embedded_data.py',
     75               },
     76               'inputs': [
     77                 '<(generator_path)',
     78                 '<!@(python <(generator_path) ../../third_party/gles2_conform/GTF_ES/glsl/GTF)',
     79               ],
     80               'outputs': [
     81                 #'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesDATA.c',
     82                 #'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesDATA.h',
     83                 #'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesTOC.c',
     84                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesDATA.c',
     85                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesDATA.h',
     86                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesTOC.c',
     87               ],
     88               'action': [
     89                 'python',
     90                 '<(generator_path)',
     91                 '../../third_party/gles2_conform/GTF_ES/glsl/GTF',
     92                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data',
     93               ],
     94             },
     95           ],
     96         },
     97         {
     98           'target_name': 'gles2_conform_test_windowless',
     99           'type': 'executable',
    100           'dependencies': [
    101             'gles2_conform_test_embedded_data',
    102             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_native',
    103             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_windowless',
    104             '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib_nocheck',
    105             '<(DEPTH)/third_party/expat/expat.gyp:expat',
    106           ],
    107           'conditions': [
    108             ['OS=="linux"', {
    109               'conditions': [
    110                 [ 'chromeos==0', {
    111                   'dependencies': ['../../build/linux/system.gyp:gtk']
    112                 }],
    113                 [ 'clang==1', {
    114                   'cflags': [
    115                     '-Wno-array-bounds',
    116                     '-Wno-implicit-function-declaration',
    117                     '-Wno-incompatible-pointer-types',
    118                     '-Wno-parentheses-equality',
    119                     '-Wno-pointer-sign',
    120                     '-Wno-return-type',
    121                     '-Wno-sizeof-pointer-memaccess',
    122                     '-Wno-tautological-compare'
    123                   ]
    124                 }]
    125               ],
    126             }],
    127             ['OS=="win"', {
    128               'dependencies': [
    129                 '<(angle_path)/src/build_angle.gyp:libGLESv2',
    130                 '<(angle_path)/src/build_angle.gyp:libEGL',
    131               ],
    132               'defines': [
    133                 'EGLAPI=',
    134                 'EGLAPIENTRY=',
    135               ],
    136               'msvs_disabled_warnings': [
    137                 4018,  # signed/unsigned mismatch
    138                 4101,  # unreferenced local variable
    139                 4715,  # not all control paths return a value
    140               ],
    141               'msvs_settings': {
    142                 'VCCLCompilerTool': {
    143                   'AdditionalOptions': ['/UNOMINMAX'],
    144                 },
    145               },
    146             }],
    147             ['OS=="mac"', {
    148               'defines': [
    149                 '_STDINT',
    150                 '_STDINT_H',
    151               ],
    152               'conditions': [
    153                 [ 'clang==1', {
    154                   'cflags': [
    155                     '-Wno-pointer-sign',
    156                     '-Wno-array-bounds',
    157                     '-Wno-sizeof-pointer-memaccess',
    158                     '-Wno-implicit-function-declaration',
    159                     '-Wno-logical-op-parentheses',
    160                     '-Wno-tautological-compare',
    161                     '-Wno-parentheses-equality',
    162                     '-Wno-return-type',
    163                   ],
    164                   'xcode_settings': {
    165                     'LD': 'clang++',
    166                     'WARNING_CFLAGS': [
    167                       '-Wno-pointer-sign',
    168                       '-Wno-array-bounds',
    169                       '-Wno-sizeof-pointer-memaccess',
    170                       '-Wno-implicit-function-declaration',
    171                       '-Wno-logical-op-parentheses',
    172                       '-Wno-tautological-compare',
    173                       '-Wno-parentheses-equality',
    174                       '-Wno-return-type',
    175                     ],
    176                   },
    177                 }],
    178               ],
    179             }],
    180           ],
    181           'defines': [
    182             'GTF_API=GTF_GLES20',
    183             'HKEMBEDDEDFILESYSTEM',
    184           ],
    185           'sources': [
    186             '<@(gtf_es_sources)',
    187             # Include a dummy c++ file to force linking of libstdc++.
    188             '<(DEPTH)/gpu/gles2_conform_support/dummy.cc',
    189           ],
    190           'run_as': {
    191             'conditions': [
    192               ['OS=="win"', {
    193                 'action': [
    194                   '$(TargetPath)',
    195                   '-noimagefileio',
    196                   '-run=<(DEPTH)/third_party/gles2_conform/GTF_ES/glsl/GTF/mustpass.run',
    197                 ],
    198               }],
    199             ],
    200           },
    201         },
    202       ],
    203     }], # internal_gles2_conform_tests
    204     ['OS=="win" and internal_gles2_conform_tests', {
    205       'targets': [
    206         {
    207           'target_name': 'gles2_conform_test_angle',
    208           'type': 'executable',
    209           'dependencies': [
    210             'gles2_conform_test_embedded_data',
    211             '<(DEPTH)/base/base.gyp:base',
    212             '<(DEPTH)/third_party/expat/expat.gyp:expat',
    213             '<(angle_path)/src/build_angle.gyp:libGLESv2',
    214             '<(angle_path)/src/build_angle.gyp:libEGL',
    215             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_native',
    216           ],
    217           'defines': [
    218             'GTF_API=GTF_GLES20',
    219           ],
    220           'include_dirs': [
    221             '<(DEPTH)/third_party/angle_dx11/include',
    222           ],
    223           'sources': [
    224             '<@(gtf_es_sources)',
    225           ],
    226         },
    227       ],
    228     }],
    229 
    230     ['chromeos==1 and internal_gles2_conform_tests', {
    231       'targets': [
    232         {
    233           'target_name': 'gles2_conform_test_chromeos',
    234           'type': 'executable',
    235           'dependencies': [
    236             'gles2_conform_test_embedded_data',
    237             '<(DEPTH)/base/base.gyp:*',
    238             '<(DEPTH)/third_party/expat/expat.gyp:expat',
    239             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_native',
    240           ],
    241           'libraries': [
    242             '-lEGL',
    243             '-lGLESv2',
    244           ],
    245           'defines': [
    246             'GTF_API=GTF_GLES20',
    247             'CHROMEOS_GLES2_CONFORMANCE',
    248           ],
    249           'sources': [
    250             '<@(gtf_es_sources)',
    251           ],
    252         },
    253       ],
    254     }],
    255   ],
    256 }
    257 
    258 
    259 # Local Variables:
    260 # tab-width:2
    261 # indent-tabs-mode:nil
    262 # End:
    263 # vim: set expandtab tabstop=2 shiftwidth=2:
    264