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