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 # GN version: //ppapi:ppapi_unittest_shared 87 'target_name': 'ppapi_unittest_shared', 88 'type': 'static_library', 89 'dependencies': [ 90 'ppapi_proxy', 91 'ppapi_shared', 92 '../base/base.gyp:test_support_base', 93 '../ipc/ipc.gyp:ipc', 94 '../ipc/ipc.gyp:test_support_ipc', 95 '../testing/gmock.gyp:gmock', 96 '../testing/gtest.gyp:gtest', 97 ], 98 'sources': [ 99 # Note: sources list duplicated in GN build. 100 'proxy/ppapi_proxy_test.cc', 101 'proxy/ppapi_proxy_test.h', 102 'proxy/resource_message_test_sink.cc', 103 'proxy/resource_message_test_sink.h', 104 'shared_impl/test_globals.cc', 105 'shared_impl/test_globals.h', 106 'shared_impl/unittest_utils.cc', 107 'shared_impl/unittest_utils.h', 108 ], 109 }, 110 111 { 112 'target_name': 'ppapi_perftests', 113 'type': 'executable', 114 'variables': { 115 'chromium_code': 1, 116 }, 117 'dependencies': [ 118 'ppapi_proxy', 119 'ppapi_shared', 120 'ppapi_unittest_shared', 121 '../base/base.gyp:test_support_base', 122 '../testing/gtest.gyp:gtest', 123 ], 124 'sources': [ 125 'proxy/ppapi_perftests.cc', 126 'proxy/ppp_messaging_proxy_perftest.cc', 127 ], 128 'conditions': [ 129 # See http://crbug.com/162998#c4 for why this is needed. 130 ['OS=="linux" and use_allocator!="none"', { 131 'dependencies': [ 132 '../base/allocator/allocator.gyp:allocator', 133 ], 134 }], 135 ], 136 }, 137 { 138 'target_name': 'ppapi_unittests', 139 'type': 'executable', 140 'variables': { 141 'chromium_code': 1, 142 }, 143 'dependencies': [ 144 'ppapi_host', 145 'ppapi_proxy', 146 'ppapi_shared', 147 'ppapi_unittest_shared', 148 '../base/base.gyp:run_all_unittests', 149 '../base/base.gyp:test_support_base', 150 '../gpu/gpu.gyp:gpu_ipc', 151 '../ipc/ipc.gyp:ipc', 152 '../ipc/ipc.gyp:test_support_ipc', 153 '../media/media.gyp:shared_memory_support', 154 '../testing/gmock.gyp:gmock', 155 '../testing/gtest.gyp:gtest', 156 '../ui/surface/surface.gyp:surface', 157 ], 158 'sources': [ 159 'host/resource_message_filter_unittest.cc', 160 'proxy/device_enumeration_resource_helper_unittest.cc', 161 'proxy/file_chooser_resource_unittest.cc', 162 'proxy/file_system_resource_unittest.cc', 163 'proxy/flash_resource_unittest.cc', 164 'proxy/interface_list_unittest.cc', 165 'proxy/mock_resource.cc', 166 'proxy/mock_resource.h', 167 'proxy/nacl_message_scanner_unittest.cc', 168 'proxy/pdf_resource_unittest.cc', 169 'proxy/plugin_dispatcher_unittest.cc', 170 'proxy/plugin_resource_tracker_unittest.cc', 171 'proxy/plugin_var_tracker_unittest.cc', 172 'proxy/ppb_var_unittest.cc', 173 'proxy/ppp_instance_private_proxy_unittest.cc', 174 'proxy/ppp_instance_proxy_unittest.cc', 175 'proxy/ppp_messaging_proxy_unittest.cc', 176 'proxy/printing_resource_unittest.cc', 177 'proxy/raw_var_data_unittest.cc', 178 'proxy/serialized_var_unittest.cc', 179 'proxy/talk_resource_unittest.cc', 180 'proxy/video_decoder_resource_unittest.cc', 181 'proxy/websocket_resource_unittest.cc', 182 'shared_impl/media_stream_audio_track_shared_unittest.cc', 183 'shared_impl/media_stream_buffer_manager_unittest.cc', 184 'shared_impl/media_stream_video_track_shared_unittest.cc', 185 'shared_impl/proxy_lock_unittest.cc', 186 'shared_impl/resource_tracker_unittest.cc', 187 'shared_impl/thread_aware_callback_unittest.cc', 188 'shared_impl/time_conversion_unittest.cc', 189 'shared_impl/tracked_callback_unittest.cc', 190 'shared_impl/var_tracker_unittest.cc', 191 ], 192 'conditions': [ 193 [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 194 'conditions': [ 195 [ 'use_allocator!="none"', { 196 'dependencies': [ 197 '../base/allocator/allocator.gyp:allocator', 198 ], 199 }], 200 ], 201 }], 202 ], 203 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 204 'msvs_disabled_warnings': [ 4267, ], 205 }, 206 { 207 'target_name': 'ppapi_example_skeleton', 208 'suppress_wildcard': 1, 209 'type': 'none', 210 'direct_dependent_settings': { 211 'product_name': '>(_target_name)', 212 'conditions': [ 213 ['os_posix==1 and OS!="mac"', { 214 'cflags': ['-fvisibility=hidden'], 215 'type': 'shared_library', 216 }], 217 ['OS=="win"', { 218 'type': 'shared_library', 219 }], 220 ['OS=="mac"', { 221 'type': 'loadable_module', 222 'mac_bundle': 1, 223 'product_extension': 'plugin', 224 'xcode_settings': { 225 'OTHER_LDFLAGS': [ 226 # Not to strip important symbols by -Wl,-dead_strip. 227 '-Wl,-exported_symbol,_PPP_GetInterface', 228 '-Wl,-exported_symbol,_PPP_InitializeModule', 229 '-Wl,-exported_symbol,_PPP_ShutdownModule' 230 ]}, 231 }], 232 ], 233 }, 234 }, 235 { 236 'target_name': 'ppapi_example_mouse_cursor', 237 'dependencies': [ 238 'ppapi_example_skeleton', 239 'ppapi.gyp:ppapi_cpp', 240 ], 241 'sources': [ 242 'examples/mouse_cursor/mouse_cursor.cc', 243 ], 244 }, 245 { 246 'target_name': 'ppapi_example_mouse_lock', 247 'dependencies': [ 248 'ppapi_example_skeleton', 249 'ppapi.gyp:ppapi_cpp', 250 ], 251 'sources': [ 252 'examples/mouse_lock/mouse_lock.cc', 253 ], 254 }, 255 256 { 257 'target_name': 'ppapi_example_gamepad', 258 'dependencies': [ 259 'ppapi_example_skeleton', 260 'ppapi.gyp:ppapi_cpp', 261 ], 262 'sources': [ 263 'examples/gamepad/gamepad.cc', 264 ], 265 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 266 'msvs_disabled_warnings': [ 4267, ], 267 }, 268 269 { 270 'target_name': 'ppapi_example_c_stub', 271 'dependencies': [ 272 'ppapi_example_skeleton', 273 'ppapi.gyp:ppapi_c', 274 ], 275 'sources': [ 276 'examples/stub/stub.c', 277 ], 278 }, 279 { 280 'target_name': 'ppapi_example_cc_stub', 281 'dependencies': [ 282 'ppapi_example_skeleton', 283 'ppapi.gyp:ppapi_cpp', 284 ], 285 'sources': [ 286 'examples/stub/stub.cc', 287 ], 288 }, 289 { 290 'target_name': 'ppapi_example_crxfs', 291 'dependencies': [ 292 'ppapi_example_skeleton', 293 'ppapi.gyp:ppapi_cpp', 294 ], 295 'sources': [ 296 'examples/crxfs/crxfs.cc', 297 ], 298 }, 299 { 300 'target_name': 'ppapi_example_audio', 301 'dependencies': [ 302 'ppapi_example_skeleton', 303 'ppapi.gyp:ppapi_cpp', 304 ], 305 'sources': [ 306 'examples/audio/audio.cc', 307 ], 308 }, 309 { 310 'target_name': 'ppapi_example_audio_input', 311 'dependencies': [ 312 'ppapi_example_skeleton', 313 'ppapi.gyp:ppapi_cpp', 314 ], 315 'sources': [ 316 'examples/audio_input/audio_input.cc', 317 ], 318 }, 319 { 320 'target_name': 'ppapi_example_file_chooser', 321 'dependencies': [ 322 'ppapi_example_skeleton', 323 'ppapi.gyp:ppapi_cpp', 324 ], 325 'sources': [ 326 'examples/file_chooser/file_chooser.cc', 327 ], 328 }, 329 { 330 'target_name': 'ppapi_example_graphics_2d', 331 'dependencies': [ 332 'ppapi_example_skeleton', 333 'ppapi.gyp:ppapi_c', 334 ], 335 'sources': [ 336 'examples/2d/graphics_2d_example.c', 337 ], 338 }, 339 { 340 'target_name': 'ppapi_example_ime', 341 'dependencies': [ 342 'ppapi_example_skeleton', 343 'ppapi.gyp:ppapi_cpp', 344 ], 345 'sources': [ 346 'examples/ime/ime.cc', 347 ], 348 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 349 'msvs_disabled_warnings': [ 4267, ], 350 }, 351 { 352 'target_name': 'ppapi_example_paint_manager', 353 'dependencies': [ 354 'ppapi_example_skeleton', 355 'ppapi.gyp:ppapi_cpp', 356 ], 357 'sources': [ 358 'examples/2d/paint_manager_example.cc', 359 ], 360 }, 361 { 362 'target_name': 'ppapi_example_input', 363 'dependencies': [ 364 'ppapi_example_skeleton', 365 'ppapi.gyp:ppapi_cpp', 366 ], 367 'sources': [ 368 'examples/input/pointer_event_input.cc', 369 ], 370 }, 371 { 372 'target_name': 'ppapi_example_post_message', 373 'dependencies': [ 374 'ppapi_example_skeleton', 375 'ppapi.gyp:ppapi_cpp', 376 ], 377 'sources': [ 378 'examples/scripting/post_message.cc', 379 ], 380 }, 381 { 382 'target_name': 'ppapi_example_scaling', 383 'dependencies': [ 384 'ppapi_example_skeleton', 385 'ppapi.gyp:ppapi_cpp', 386 ], 387 'sources': [ 388 'examples/scaling/scaling.cc', 389 ], 390 }, 391 { 392 'target_name': 'ppapi_example_scroll', 393 'dependencies': [ 394 'ppapi_example_skeleton', 395 'ppapi.gyp:ppapi_cpp', 396 ], 397 'sources': [ 398 'examples/2d/scroll.cc', 399 ], 400 }, 401 { 402 'target_name': 'ppapi_example_simple_font', 403 'dependencies': [ 404 'ppapi_example_skeleton', 405 'ppapi.gyp:ppapi_cpp', 406 ], 407 'sources': [ 408 'examples/font/simple_font.cc', 409 ], 410 }, 411 { 412 'target_name': 'ppapi_example_url_loader', 413 'dependencies': [ 414 'ppapi_example_skeleton', 415 'ppapi.gyp:ppapi_cpp', 416 ], 417 'sources': [ 418 'examples/url_loader/streaming.cc', 419 ], 420 }, 421 { 422 'target_name': 'ppapi_example_url_loader_file', 423 'dependencies': [ 424 'ppapi_example_skeleton', 425 'ppapi.gyp:ppapi_cpp', 426 ], 427 'sources': [ 428 'examples/url_loader/stream_to_file.cc', 429 ], 430 }, 431 { 432 'target_name': 'ppapi_example_gles2', 433 'dependencies': [ 434 'ppapi_example_skeleton', 435 'ppapi.gyp:ppapi_cpp', 436 'ppapi.gyp:ppapi_gles2', 437 ], 438 'include_dirs': [ 439 'lib/gl/include', 440 ], 441 'sources': [ 442 'examples/gles2/gles2.cc', 443 ], 444 }, 445 { 446 'target_name': 'ppapi_example_video_decode', 447 'dependencies': [ 448 'ppapi_example_skeleton', 449 'ppapi.gyp:ppapi_cpp', 450 'ppapi.gyp:ppapi_gles2', 451 ], 452 'include_dirs': [ 453 'lib/gl/include', 454 ], 455 'sources': [ 456 'examples/video_decode/video_decode.cc', 457 'examples/video_decode/testdata.h', 458 ], 459 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 460 'msvs_disabled_warnings': [ 4267, ], 461 }, 462 { 463 'target_name': 'ppapi_example_video_decode_dev', 464 'dependencies': [ 465 'ppapi_example_skeleton', 466 'ppapi.gyp:ppapi_cpp', 467 'ppapi.gyp:ppapi_gles2', 468 ], 469 'include_dirs': [ 470 'lib/gl/include', 471 ], 472 'sources': [ 473 'examples/video_decode/video_decode_dev.cc', 474 'examples/video_decode/testdata.h', 475 ], 476 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 477 'msvs_disabled_warnings': [ 4267, ], 478 }, 479 { 480 'target_name': 'ppapi_example_vc', 481 'dependencies': [ 482 'ppapi_example_skeleton', 483 'ppapi.gyp:ppapi_cpp', 484 'ppapi.gyp:ppapi_gles2', 485 ], 486 'include_dirs': [ 487 'lib/gl/include', 488 ], 489 'sources': [ 490 'examples/video_capture/video_capture.cc', 491 ], 492 }, 493 { 494 'target_name': 'ppapi_example_video_effects', 495 'dependencies': [ 496 'ppapi_example_skeleton', 497 'ppapi.gyp:ppapi_cpp', 498 ], 499 'sources': [ 500 'examples/video_effects/video_effects.cc', 501 ], 502 }, 503 { 504 'target_name': 'ppapi_example_enumerate_devices', 505 'dependencies': [ 506 'ppapi_example_skeleton', 507 'ppapi.gyp:ppapi_cpp', 508 ], 509 'sources': [ 510 'examples/enumerate_devices/enumerate_devices.cc', 511 ], 512 }, 513 { 514 'target_name': 'ppapi_example_flash_topmost', 515 'dependencies': [ 516 'ppapi_example_skeleton', 517 'ppapi.gyp:ppapi_cpp', 518 ], 519 'sources': [ 520 'examples/flash_topmost/flash_topmost.cc', 521 ], 522 }, 523 { 524 'target_name': 'ppapi_example_printing', 525 'dependencies': [ 526 'ppapi_example_skeleton', 527 'ppapi.gyp:ppapi_cpp', 528 ], 529 'sources': [ 530 'examples/printing/printing.cc', 531 ], 532 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 533 'msvs_disabled_warnings': [ 4267, ], 534 }, 535 { 536 'target_name': 'ppapi_example_media_stream_audio', 537 'dependencies': [ 538 'ppapi_example_skeleton', 539 'ppapi.gyp:ppapi_cpp', 540 ], 541 'sources': [ 542 'examples/media_stream_audio/media_stream_audio.cc', 543 ], 544 }, 545 { 546 'target_name': 'ppapi_example_media_stream_video', 547 'dependencies': [ 548 'ppapi_example_skeleton', 549 'ppapi.gyp:ppapi_cpp', 550 'ppapi.gyp:ppapi_gles2', 551 ], 552 'include_dirs': [ 553 'lib/gl/include', 554 ], 555 'sources': [ 556 'examples/media_stream_video/media_stream_video.cc', 557 ], 558 }, 559 { 560 'target_name': 'ppapi_example_gles2_spinning_cube', 561 'dependencies': [ 562 'ppapi_example_skeleton', 563 'ppapi.gyp:ppapi_cpp', 564 'ppapi.gyp:ppapi_gles2', 565 ], 566 'include_dirs': [ 567 'lib/gl/include', 568 ], 569 'sources': [ 570 'examples/gles2_spinning_cube/gles2_spinning_cube.cc', 571 'examples/gles2_spinning_cube/spinning_cube.cc', 572 'examples/gles2_spinning_cube/spinning_cube.h', 573 ], 574 }, 575 { 576 'target_name': 'ppapi_example_compositor', 577 'dependencies': [ 578 'ppapi_example_skeleton', 579 'ppapi.gyp:ppapi_cpp', 580 'ppapi.gyp:ppapi_gles2', 581 ], 582 'include_dirs': [ 583 'lib/gl/include', 584 ], 585 'sources': [ 586 'examples/compositor/compositor.cc', 587 'examples/compositor/spinning_cube.cc', 588 'examples/compositor/spinning_cube.h', 589 ], 590 }, 591 ], 592} 593