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