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 'targets': [ 7 { 8 'target_name': 'ppapi_tests', 9 'type': 'loadable_module', 10 'include_dirs': [ 11 'lib/gl/include', 12 ], 13 'defines': [ 14 'GL_GLEXT_PROTOTYPES', 15 ], 16 'sources': [ 17 '<@(test_common_source_files)', 18 '<@(test_trusted_source_files)', 19 ], 20 'dependencies': [ 21 'ppapi.gyp:ppapi_cpp', 22 'ppapi_internal.gyp:ppapi_shared', 23 ], 24 'copies': [ 25 { 26 'destination': '<(PRODUCT_DIR)', 27 'files': [ 28 # Keep 'test_case.html.mock-http-headers' with 'test_case.html'. 29 'tests/test_case.html', 30 'tests/test_case.html.mock-http-headers', 31 'tests/test_page.css', 32 'tests/ppapi_nacl_tests_newlib.nmf', 33 ], 34 }, 35 { 36 'destination': '<(PRODUCT_DIR)/test_url_loader_data', 37 'files': [ 38 'tests/test_url_loader_data/hello.txt', 39 ], 40 }, 41 ], 42 'run_as': { 43 'action': [ 44 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)chrome<(EXECUTABLE_SUFFIX)', 45 '--enable-pepper-testing', 46 '--register-pepper-plugins=$(TargetPath);application/x-ppapi-tests', 47 'file://$(ProjectDir)/tests/test_case.html?testcase=', 48 ], 49 }, 50 'conditions': [ 51 ['OS=="win"', { 52 'defines': [ 53 '_CRT_SECURE_NO_DEPRECATE', 54 '_CRT_NONSTDC_NO_WARNINGS', 55 '_CRT_NONSTDC_NO_DEPRECATE', 56 '_SCL_SECURE_NO_DEPRECATE', 57 ], 58 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 59 'msvs_disabled_warnings': [ 4267, ], 60 }], 61 ['OS=="mac"', { 62 'mac_bundle': 1, 63 'product_name': 'ppapi_tests', 64 'product_extension': 'plugin', 65 }], 66 ], 67 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 68 'msvs_disabled_warnings': [ 4267, ], 69 # TODO(dmichael): Figure out what is wrong with the script on Windows and add 70 # it as an automated action. 71 # 'actions': [ 72 # { 73 # 'action_name': 'generate_ppapi_include_tests', 74 # 'inputs': [], 75 # 'outputs': [ 76 # 'tests/test_c_includes.c', 77 # 'tests/test_cc_includes.cc', 78 # ], 79 # 'action': [ 80 # '<!@(python generate_ppapi_include_tests.py)', 81 # ], 82 # }, 83 # ], 84 }, 85 { 86 'target_name': 'ppapi_unittest_shared', 87 'type': 'static_library', 88 'dependencies': [ 89 'ppapi_proxy', 90 'ppapi_shared', 91 '../base/base.gyp:test_support_base', 92 '../ipc/ipc.gyp:ipc', 93 '../ipc/ipc.gyp:test_support_ipc', 94 '../testing/gmock.gyp:gmock', 95 '../testing/gtest.gyp:gtest', 96 ], 97 'sources': [ 98 'proxy/ppapi_proxy_test.cc', 99 'proxy/ppapi_proxy_test.h', 100 'proxy/resource_message_test_sink.cc', 101 'proxy/resource_message_test_sink.h', 102 'shared_impl/test_globals.cc', 103 'shared_impl/test_globals.h', 104 'shared_impl/unittest_utils.cc', 105 'shared_impl/unittest_utils.h', 106 ], 107 }, 108 109 { 110 'target_name': 'ppapi_perftests', 111 'type': 'executable', 112 'variables': { 113 'chromium_code': 1, 114 }, 115 'dependencies': [ 116 'ppapi_proxy', 117 'ppapi_shared', 118 'ppapi_unittest_shared', 119 '../base/base.gyp:test_support_base', 120 '../testing/gtest.gyp:gtest', 121 ], 122 'sources': [ 123 'proxy/ppapi_perftests.cc', 124 'proxy/ppp_messaging_proxy_perftest.cc', 125 ], 126 'conditions': [ 127 # See http://crbug.com/162998#c4 for why this is needed. 128 ['OS=="linux" and linux_use_tcmalloc==1', { 129 'dependencies': [ 130 '../base/allocator/allocator.gyp:allocator', 131 ], 132 }], 133 ], 134 }, 135 { 136 'target_name': 'ppapi_unittests', 137 'type': 'executable', 138 'variables': { 139 'chromium_code': 1, 140 }, 141 'dependencies': [ 142 'ppapi_host', 143 'ppapi_proxy', 144 'ppapi_shared', 145 'ppapi_unittest_shared', 146 '../base/base.gyp:test_support_base', 147 '../gpu/gpu.gyp:gpu_ipc', 148 '../ipc/ipc.gyp:ipc', 149 '../ipc/ipc.gyp:test_support_ipc', 150 '../media/media.gyp:shared_memory_support', 151 '../testing/gmock.gyp:gmock', 152 '../testing/gtest.gyp:gtest', 153 '../ui/surface/surface.gyp:surface', 154 ], 155 # For the nacl_http_response_headers_unittest below. 156 'include_dirs': [ 157 '../ppapi', 158 ], 159 'sources': [ 160 'proxy/run_all_unittests.cc', 161 162 'host/resource_message_filter_unittest.cc', 163 # Piggy back on ppapi_unittests for a simple NaCl unittest, 164 # which must not have dependencies on anything other than stdlibs. 165 # We add the source file, not just the test to ensure that the object 166 # is built. Otherwise, we would need to depend on the NaCl trusted 167 # plugin being built to build the object. 168 # TODO(jvoung): move this to unit_tests instead of ppapi_unittests 169 # once this moves into chrome. 170 'native_client/src/trusted/plugin/nacl_http_response_headers.cc', 171 'native_client/src/trusted/plugin/nacl_http_response_headers_unittest.cc', 172 'proxy/device_enumeration_resource_helper_unittest.cc', 173 'proxy/file_chooser_resource_unittest.cc', 174 'proxy/flash_resource_unittest.cc', 175 'proxy/mock_resource.cc', 176 'proxy/mock_resource.h', 177 'proxy/pdf_resource_unittest.cc', 178 'proxy/plugin_dispatcher_unittest.cc', 179 'proxy/plugin_resource_tracker_unittest.cc', 180 'proxy/plugin_var_tracker_unittest.cc', 181 'proxy/ppb_var_unittest.cc', 182 'proxy/ppp_instance_private_proxy_unittest.cc', 183 'proxy/ppp_instance_proxy_unittest.cc', 184 'proxy/ppp_messaging_proxy_unittest.cc', 185 'proxy/printing_resource_unittest.cc', 186 'proxy/raw_var_data_unittest.cc', 187 'proxy/serialized_var_unittest.cc', 188 'proxy/talk_resource_unittest.cc', 189 'proxy/websocket_resource_unittest.cc', 190 'shared_impl/proxy_lock_unittest.cc', 191 'shared_impl/resource_tracker_unittest.cc', 192 'shared_impl/thread_aware_callback_unittest.cc', 193 'shared_impl/time_conversion_unittest.cc', 194 'shared_impl/tracked_callback_unittest.cc', 195 'shared_impl/var_tracker_unittest.cc', 196 'shared_impl/var_value_conversions_unittest.cc', 197 ], 198 'conditions': [ 199 [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 200 'conditions': [ 201 [ 'linux_use_tcmalloc == 1', { 202 'dependencies': [ 203 '../base/allocator/allocator.gyp:allocator', 204 ], 205 }], 206 ], 207 }], 208 ], 209 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 210 'msvs_disabled_warnings': [ 4267, ], 211 }, 212 { 213 'target_name': 'ppapi_example_skeleton', 214 'suppress_wildcard': 1, 215 'type': 'none', 216 'direct_dependent_settings': { 217 'product_name': '>(_target_name)', 218 'conditions': [ 219 ['os_posix==1 and OS!="mac"', { 220 'cflags': ['-fvisibility=hidden'], 221 'type': 'shared_library', 222 # -gstabs, used in the official builds, causes an ICE. Simply remove 223 # it. 224 'cflags!': ['-gstabs'], 225 }], 226 ['OS=="win"', { 227 'type': 'shared_library', 228 }], 229 ['OS=="mac"', { 230 'type': 'loadable_module', 231 'mac_bundle': 1, 232 'product_extension': 'plugin', 233 'xcode_settings': { 234 'OTHER_LDFLAGS': [ 235 # Not to strip important symbols by -Wl,-dead_strip. 236 '-Wl,-exported_symbol,_PPP_GetInterface', 237 '-Wl,-exported_symbol,_PPP_InitializeModule', 238 '-Wl,-exported_symbol,_PPP_ShutdownModule' 239 ]}, 240 }], 241 ], 242 }, 243 }, 244 { 245 'target_name': 'ppapi_example_mouse_cursor', 246 'dependencies': [ 247 'ppapi_example_skeleton', 248 'ppapi.gyp:ppapi_cpp', 249 ], 250 'sources': [ 251 'examples/mouse_cursor/mouse_cursor.cc', 252 ], 253 }, 254 { 255 'target_name': 'ppapi_example_mouse_lock', 256 'dependencies': [ 257 'ppapi_example_skeleton', 258 'ppapi.gyp:ppapi_cpp', 259 ], 260 'sources': [ 261 'examples/mouse_lock/mouse_lock.cc', 262 ], 263 }, 264 265 { 266 'target_name': 'ppapi_example_gamepad', 267 'dependencies': [ 268 'ppapi_example_skeleton', 269 'ppapi.gyp:ppapi_cpp', 270 ], 271 'sources': [ 272 'examples/gamepad/gamepad.cc', 273 ], 274 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 275 'msvs_disabled_warnings': [ 4267, ], 276 }, 277 278 { 279 'target_name': 'ppapi_example_c_stub', 280 'dependencies': [ 281 'ppapi_example_skeleton', 282 'ppapi.gyp:ppapi_c', 283 ], 284 'sources': [ 285 'examples/stub/stub.c', 286 ], 287 }, 288 { 289 'target_name': 'ppapi_example_cc_stub', 290 'dependencies': [ 291 'ppapi_example_skeleton', 292 'ppapi.gyp:ppapi_cpp', 293 ], 294 'sources': [ 295 'examples/stub/stub.cc', 296 ], 297 }, 298 { 299 'target_name': 'ppapi_example_crxfs', 300 'dependencies': [ 301 'ppapi_example_skeleton', 302 'ppapi.gyp:ppapi_cpp', 303 ], 304 'sources': [ 305 'examples/crxfs/crxfs.cc', 306 ], 307 }, 308 { 309 'target_name': 'ppapi_example_audio', 310 'dependencies': [ 311 'ppapi_example_skeleton', 312 'ppapi.gyp:ppapi_cpp', 313 ], 314 'sources': [ 315 'examples/audio/audio.cc', 316 ], 317 }, 318 { 319 'target_name': 'ppapi_example_audio_input', 320 'dependencies': [ 321 'ppapi_example_skeleton', 322 'ppapi.gyp:ppapi_cpp', 323 ], 324 'sources': [ 325 'examples/audio_input/audio_input.cc', 326 ], 327 }, 328 { 329 'target_name': 'ppapi_example_file_chooser', 330 'dependencies': [ 331 'ppapi_example_skeleton', 332 'ppapi.gyp:ppapi_cpp', 333 ], 334 'sources': [ 335 'examples/file_chooser/file_chooser.cc', 336 ], 337 }, 338 { 339 'target_name': 'ppapi_example_graphics_2d', 340 'dependencies': [ 341 'ppapi_example_skeleton', 342 'ppapi.gyp:ppapi_c', 343 ], 344 'sources': [ 345 'examples/2d/graphics_2d_example.c', 346 ], 347 }, 348 { 349 'target_name': 'ppapi_example_ime', 350 'dependencies': [ 351 'ppapi_example_skeleton', 352 'ppapi.gyp:ppapi_cpp', 353 ], 354 'sources': [ 355 'examples/ime/ime.cc', 356 ], 357 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 358 'msvs_disabled_warnings': [ 4267, ], 359 }, 360 { 361 'target_name': 'ppapi_example_paint_manager', 362 'dependencies': [ 363 'ppapi_example_skeleton', 364 'ppapi.gyp:ppapi_cpp', 365 ], 366 'sources': [ 367 'examples/2d/paint_manager_example.cc', 368 ], 369 }, 370 { 371 'target_name': 'ppapi_example_input', 372 'dependencies': [ 373 'ppapi_example_skeleton', 374 'ppapi.gyp:ppapi_cpp', 375 ], 376 'sources': [ 377 'examples/input/pointer_event_input.cc', 378 ], 379 }, 380 { 381 'target_name': 'ppapi_example_post_message', 382 'dependencies': [ 383 'ppapi_example_skeleton', 384 'ppapi.gyp:ppapi_cpp', 385 ], 386 'sources': [ 387 'examples/scripting/post_message.cc', 388 ], 389 }, 390 { 391 'target_name': 'ppapi_example_scaling', 392 'dependencies': [ 393 'ppapi_example_skeleton', 394 'ppapi.gyp:ppapi_cpp', 395 ], 396 'sources': [ 397 'examples/scaling/scaling.cc', 398 ], 399 }, 400 { 401 'target_name': 'ppapi_example_scroll', 402 'dependencies': [ 403 'ppapi_example_skeleton', 404 'ppapi.gyp:ppapi_cpp', 405 ], 406 'sources': [ 407 'examples/2d/scroll.cc', 408 ], 409 }, 410 { 411 'target_name': 'ppapi_example_simple_font', 412 'dependencies': [ 413 'ppapi_example_skeleton', 414 'ppapi.gyp:ppapi_cpp', 415 ], 416 'sources': [ 417 'examples/font/simple_font.cc', 418 ], 419 }, 420 { 421 'target_name': 'ppapi_example_url_loader', 422 'dependencies': [ 423 'ppapi_example_skeleton', 424 'ppapi.gyp:ppapi_cpp', 425 ], 426 'sources': [ 427 'examples/url_loader/streaming.cc', 428 ], 429 }, 430 { 431 'target_name': 'ppapi_example_url_loader_file', 432 'dependencies': [ 433 'ppapi_example_skeleton', 434 'ppapi.gyp:ppapi_cpp', 435 ], 436 'sources': [ 437 'examples/url_loader/stream_to_file.cc', 438 ], 439 }, 440 { 441 'target_name': 'ppapi_example_gles2', 442 'dependencies': [ 443 'ppapi_example_skeleton', 444 'ppapi.gyp:ppapi_cpp', 445 'ppapi.gyp:ppapi_gles2', 446 ], 447 'include_dirs': [ 448 'lib/gl/include', 449 ], 450 'sources': [ 451 'examples/gles2/gles2.cc', 452 ], 453 }, 454 { 455 'target_name': 'ppapi_example_video_decode', 456 'dependencies': [ 457 'ppapi_example_skeleton', 458 'ppapi.gyp:ppapi_cpp', 459 'ppapi.gyp:ppapi_gles2', 460 ], 461 'include_dirs': [ 462 'lib/gl/include', 463 ], 464 'sources': [ 465 'examples/video_decode/video_decode.cc', 466 'examples/video_decode/testdata.h', 467 ], 468 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 469 'msvs_disabled_warnings': [ 4267, ], 470 }, 471 { 472 'target_name': 'ppapi_example_vc', 473 'dependencies': [ 474 'ppapi_example_skeleton', 475 'ppapi.gyp:ppapi_cpp', 476 'ppapi.gyp:ppapi_gles2', 477 ], 478 'include_dirs': [ 479 'lib/gl/include', 480 ], 481 'sources': [ 482 'examples/video_capture/video_capture.cc', 483 ], 484 }, 485 { 486 'target_name': 'ppapi_example_video_effects', 487 'dependencies': [ 488 'ppapi_example_skeleton', 489 'ppapi.gyp:ppapi_cpp', 490 ], 491 'sources': [ 492 'examples/video_effects/video_effects.cc', 493 ], 494 }, 495 { 496 'target_name': 'ppapi_example_enumerate_devices', 497 'dependencies': [ 498 'ppapi_example_skeleton', 499 'ppapi.gyp:ppapi_cpp', 500 ], 501 'sources': [ 502 'examples/enumerate_devices/enumerate_devices.cc', 503 ], 504 }, 505 { 506 'target_name': 'ppapi_example_flash_topmost', 507 'dependencies': [ 508 'ppapi_example_skeleton', 509 'ppapi.gyp:ppapi_cpp', 510 ], 511 'sources': [ 512 'examples/flash_topmost/flash_topmost.cc', 513 ], 514 }, 515 { 516 'target_name': 'ppapi_example_printing', 517 'dependencies': [ 518 'ppapi_example_skeleton', 519 'ppapi.gyp:ppapi_cpp', 520 ], 521 'sources': [ 522 'examples/printing/printing.cc', 523 ], 524 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 525 'msvs_disabled_warnings': [ 4267, ], 526 }, 527 ], 528 } 529