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 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