Add a stub __cxa_demangle to disable LLVM's demangler.
[chromium-blink-merge.git] / ppapi / ppapi_tests.gypi
blob830933ef834fcab5165c0b06a013de7c869a6510
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.
6   'targets': [
7     {
8       # GN version: //ppapi:ppapi_tests
9       'target_name': 'ppapi_tests',
10       'type': 'loadable_module',
11       'include_dirs': [
12         'lib/gl/include',
13       ],
14       'defines': [
15         'GL_GLEXT_PROTOTYPES',
16       ],
17       'sources': [
18         '<@(test_common_source_files)',
19         '<@(test_trusted_source_files)',
20       ],
21       'dependencies': [
22         'ppapi.gyp:ppapi_cpp',
23         'ppapi_internal.gyp:ppapi_shared',
24       ],
25       'copies': [
26         {
27           'destination': '<(PRODUCT_DIR)',
28           'files': [
29             # Keep 'test_case.html.mock-http-headers' with 'test_case.html'.
30             'tests/test_case.html',
31             'tests/test_case.html.mock-http-headers',
32             'tests/test_page.css',
33             'tests/test_page.css.mock-http-headers',
34             'tests/ppapi_nacl_tests_newlib.nmf',
35           ],
36         },
37         {
38           'destination': '<(PRODUCT_DIR)/test_url_loader_data',
39           'files': [
40             'tests/test_url_loader_data/hello.txt',
41           ],
42         },
43       ],
44       'run_as': {
45         'action': [
46           '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)chrome<(EXECUTABLE_SUFFIX)',
47           '--enable-pepper-testing',
48           '--register-pepper-plugins=$(TargetPath);application/x-ppapi-tests',
49           'file://$(ProjectDir)/tests/test_case.html?testcase=',
50         ],
51       },
52       'conditions': [
53         ['OS=="win"', {
54           'defines': [
55             '_CRT_SECURE_NO_DEPRECATE',
56             '_CRT_NONSTDC_NO_WARNINGS',
57             '_CRT_NONSTDC_NO_DEPRECATE',
58             '_SCL_SECURE_NO_DEPRECATE',
59           ],
60         }],
61         ['OS=="mac"', {
62           'mac_bundle': 1,
63           'product_name': 'ppapi_tests',
64           'product_extension': 'plugin',
65         }],
66       ],
67 # TODO(dmichael):  Figure out what is wrong with the script on Windows and add
68 #                  it as an automated action.
69 #      'actions': [
70 #        {
71 #          'action_name': 'generate_ppapi_include_tests',
72 #          'inputs': [],
73 #          'outputs': [
74 #            'tests/test_c_includes.c',
75 #            'tests/test_cc_includes.cc',
76 #          ],
77 #          'action': [
78 #            '<!@(python generate_ppapi_include_tests.py)',
79 #          ],
80 #        },
81 #      ],
82     },
83     {
84       # GN version: //ppapi:power_saver_test_plugin
85       'target_name': 'power_saver_test_plugin',
86       'type': 'loadable_module',
87       'sources': [
88         'tests/power_saver_test_plugin.cc',
89         'tests/test_utils.cc',
90       ],
91       'dependencies': [
92         'ppapi.gyp:ppapi_cpp',
93         'ppapi_internal.gyp:ppapi_shared',
94       ],
95       'conditions': [
96         ['OS=="mac"', {
97           'mac_bundle': 1,
98           'product_name': 'power_saver_test_plugin',
99           'product_extension': 'plugin',
100         }],
101       ],
102     },
103     {
104       # GN version: //ppapi/proxy:test_support
105       #             //ppapi/shared_impl:test_support
106       'target_name': 'ppapi_unittest_shared',
107       'type': 'static_library',
108       'dependencies': [
109         'ppapi_proxy',
110         'ppapi_shared',
111         '../base/base.gyp:test_support_base',
112         '../ipc/ipc.gyp:ipc',
113         '../ipc/ipc.gyp:test_support_ipc',
114         '../testing/gmock.gyp:gmock',
115         '../testing/gtest.gyp:gtest',
116       ],
117       'sources': [
118         # Note: sources list duplicated in GN build.
119         'proxy/ppapi_proxy_test.cc',
120         'proxy/ppapi_proxy_test.h',
121         'proxy/resource_message_test_sink.cc',
122         'proxy/resource_message_test_sink.h',
123         'shared_impl/test_globals.cc',
124         'shared_impl/test_globals.h',
125         'shared_impl/test_utils.cc',
126         'shared_impl/test_utils.h',
127       ],
128     },
130     {
131       # GN version: //ppapi:ppapi_perftests
132       'target_name': 'ppapi_perftests',
133       'type': 'executable',
134       'variables': {
135         'chromium_code': 1,
136       },
137       'dependencies': [
138         'ppapi_proxy',
139         'ppapi_shared',
140         'ppapi_unittest_shared',
141         '../base/base.gyp:test_support_base',
142         '../testing/gtest.gyp:gtest',
143       ],
144       'sources': [
145         'proxy/ppapi_perftests.cc',
146         'proxy/ppp_messaging_proxy_perftest.cc',
147       ],
148       'conditions': [
149         # See http://crbug.com/162998#c4 for why this is needed.
150         ['OS=="linux" and use_allocator!="none"', {
151           'dependencies': [
152             '../base/allocator/allocator.gyp:allocator',
153           ],
154         }],
155       ],
156     },
157     {
158       # GN version: //ppapi:ppapi_unittests
159       'target_name': 'ppapi_unittests',
160       'type': 'executable',
161       'variables': {
162         'chromium_code': 1,
163       },
164       'dependencies': [
165         'ppapi_host',
166         'ppapi_proxy',
167         'ppapi_shared',
168         'ppapi_unittest_shared',
169         '../base/base.gyp:run_all_unittests',
170         '../base/base.gyp:test_support_base',
171         '../gpu/gpu.gyp:gpu_ipc',
172         '../ipc/ipc.gyp:ipc',
173         '../ipc/ipc.gyp:test_support_ipc',
174         '../media/media.gyp:shared_memory_support',
175         '../testing/gmock.gyp:gmock',
176         '../testing/gtest.gyp:gtest',
177         '../ui/surface/surface.gyp:surface',
178       ],
179       'sources': [
180         # Note: sources list duplicated in GN build.
181         'host/resource_message_filter_unittest.cc',
182         'proxy/device_enumeration_resource_helper_unittest.cc',
183         'proxy/file_chooser_resource_unittest.cc',
184         'proxy/file_system_resource_unittest.cc',
185         'proxy/flash_resource_unittest.cc',
186         'proxy/interface_list_unittest.cc',
187         'proxy/mock_resource.cc',
188         'proxy/mock_resource.h',
189         'proxy/nacl_message_scanner_unittest.cc',
190         'proxy/pdf_resource_unittest.cc',
191         'proxy/plugin_dispatcher_unittest.cc',
192         'proxy/plugin_resource_tracker_unittest.cc',
193         'proxy/plugin_var_tracker_unittest.cc',
194         'proxy/ppb_var_unittest.cc',
195         'proxy/ppp_instance_private_proxy_unittest.cc',
196         'proxy/ppp_instance_proxy_unittest.cc',
197         'proxy/ppp_messaging_proxy_unittest.cc',
198         'proxy/printing_resource_unittest.cc',
199         'proxy/raw_var_data_unittest.cc',
200         'proxy/serialized_var_unittest.cc',
201         'proxy/tracked_callback_unittest.cc',
202         'proxy/video_decoder_resource_unittest.cc',
203         'proxy/video_encoder_resource_unittest.cc',
204         'proxy/websocket_resource_unittest.cc',
205         'shared_impl/media_stream_audio_track_shared_unittest.cc',
206         'shared_impl/media_stream_buffer_manager_unittest.cc',
207         'shared_impl/media_stream_video_track_shared_unittest.cc',
208         'shared_impl/proxy_lock_unittest.cc',
209         'shared_impl/resource_tracker_unittest.cc',
210         'shared_impl/thread_aware_callback_unittest.cc',
211         'shared_impl/time_conversion_unittest.cc',
212         'shared_impl/var_tracker_unittest.cc',
213       ],
214       'conditions': [
215         [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', {
216           'conditions': [
217             [ 'use_allocator!="none"', {
218               'dependencies': [
219                 '../base/allocator/allocator.gyp:allocator',
220               ],
221             }],
222           ],
223         }],
224       ],
225     },
226     {
227       'target_name': 'ppapi_example_skeleton',
228       'suppress_wildcard': 1,
229       'type': 'none',
230       'direct_dependent_settings': {
231         'product_name': '>(_target_name)',
232         'conditions': [
233           ['os_posix==1 and OS!="mac"', {
234             'cflags': ['-fvisibility=hidden'],
235             'type': 'shared_library',
236           }],
237           ['OS=="win"', {
238             'type': 'shared_library',
239           }],
240           ['OS=="mac"', {
241             'type': 'loadable_module',
242             'mac_bundle': 1,
243             'product_extension': 'plugin',
244             'xcode_settings': {
245               'OTHER_LDFLAGS': [
246                 # Not to strip important symbols by -Wl,-dead_strip.
247                 '-Wl,-exported_symbol,_PPP_GetInterface',
248                 '-Wl,-exported_symbol,_PPP_InitializeModule',
249                 '-Wl,-exported_symbol,_PPP_ShutdownModule'
250               ]},
251           }],
252         ],
253       },
254     },
255     {
256       # GN version: //ppapi/examples/mouse_cursor
257       'target_name': 'ppapi_example_mouse_cursor',
258       'dependencies': [
259         'ppapi_example_skeleton',
260         'ppapi.gyp:ppapi_cpp',
261       ],
262       'sources': [
263         'examples/mouse_cursor/mouse_cursor.cc',
264       ],
265     },
266     {
267       # GN version: //ppapi/examples/mouse_lock
268       'target_name': 'ppapi_example_mouse_lock',
269       'dependencies': [
270         'ppapi_example_skeleton',
271         'ppapi.gyp:ppapi_cpp',
272       ],
273       'sources': [
274         'examples/mouse_lock/mouse_lock.cc',
275       ],
276     },
278     {
279       # GN version: //ppapi/examples/gamepad
280       'target_name': 'ppapi_example_gamepad',
281       'dependencies': [
282         'ppapi_example_skeleton',
283         'ppapi.gyp:ppapi_cpp',
284       ],
285       'sources': [
286         'examples/gamepad/gamepad.cc',
287       ],
288     },
290     {
291       # GN version: //ppapi/examples/stub:c_stub
292       'target_name': 'ppapi_example_c_stub',
293       'dependencies': [
294         'ppapi_example_skeleton',
295         'ppapi.gyp:ppapi_c',
296       ],
297       'sources': [
298         'examples/stub/stub.c',
299       ],
300     },
301     {
302       # GN version: //ppapi/examples/stub:cc_stub
303       'target_name': 'ppapi_example_cc_stub',
304       'dependencies': [
305         'ppapi_example_skeleton',
306         'ppapi.gyp:ppapi_cpp',
307       ],
308       'sources': [
309         'examples/stub/stub.cc',
310       ],
311     },
312     {
313       # GN version: //ppapi/examples/crxfs
314       'target_name': 'ppapi_example_crxfs',
315       'dependencies': [
316         'ppapi_example_skeleton',
317         'ppapi.gyp:ppapi_cpp',
318       ],
319       'sources': [
320         'examples/crxfs/crxfs.cc',
321       ],
322     },
323     {
324       # GN version: //ppapi/examples/audio
325       'target_name': 'ppapi_example_audio',
326       'dependencies': [
327         'ppapi_example_skeleton',
328         'ppapi.gyp:ppapi_cpp',
329       ],
330       'sources': [
331         'examples/audio/audio.cc',
332       ],
333     },
334     {
335       # GN version: //ppapi/examples/audio_input
336       'target_name': 'ppapi_example_audio_input',
337       'dependencies': [
338         'ppapi_example_skeleton',
339         'ppapi.gyp:ppapi_cpp',
340       ],
341       'sources': [
342         'examples/audio_input/audio_input.cc',
343       ],
344     },
345     {
346       # GN version: //ppapi/examples/file_chooser
347       'target_name': 'ppapi_example_file_chooser',
348       'dependencies': [
349         'ppapi_example_skeleton',
350         'ppapi.gyp:ppapi_cpp',
351       ],
352       'sources': [
353         'examples/file_chooser/file_chooser.cc',
354       ],
355     },
356     {
357       # GN version: //ppapi/examples/2d:graphics_2d
358       'target_name': 'ppapi_example_graphics_2d',
359       'dependencies': [
360         'ppapi_example_skeleton',
361         'ppapi.gyp:ppapi_c',
362       ],
363       'sources': [
364         'examples/2d/graphics_2d_example.c',
365       ],
366     },
367     {
368       # GN version: //ppapi/examples/ime
369       'target_name': 'ppapi_example_ime',
370       'dependencies': [
371         'ppapi_example_skeleton',
372         'ppapi.gyp:ppapi_cpp',
373       ],
374       'sources': [
375         'examples/ime/ime.cc',
376       ],
377     },
378     {
379       # GN version: //ppapi/examples/2d:paint_manager
380       'target_name': 'ppapi_example_paint_manager',
381       'dependencies': [
382         'ppapi_example_skeleton',
383         'ppapi.gyp:ppapi_cpp',
384       ],
385       'sources': [
386         'examples/2d/paint_manager_example.cc',
387       ],
388     },
389     {
390       # GN version: //ppapi/examples/input
391       'target_name': 'ppapi_example_input',
392       'dependencies': [
393         'ppapi_example_skeleton',
394         'ppapi.gyp:ppapi_cpp',
395       ],
396       'sources': [
397         'examples/input/pointer_event_input.cc',
398       ],
399     },
400     {
401       # GN version: //ppapi/examples/scripting
402       'target_name': 'ppapi_example_post_message',
403       'dependencies': [
404         'ppapi_example_skeleton',
405         'ppapi.gyp:ppapi_cpp',
406       ],
407       'sources': [
408         'examples/scripting/post_message.cc',
409       ],
410     },
411     {
412       # GN version: //ppapi/examples/scaling
413       'target_name': 'ppapi_example_scaling',
414       'dependencies': [
415         'ppapi_example_skeleton',
416         'ppapi.gyp:ppapi_cpp',
417       ],
418       'sources': [
419         'examples/scaling/scaling.cc',
420       ],
421     },
422     {
423       # GN version: //ppapi/examples/2d:scroll
424       'target_name': 'ppapi_example_scroll',
425       'dependencies': [
426         'ppapi_example_skeleton',
427         'ppapi.gyp:ppapi_cpp',
428       ],
429       'sources': [
430         'examples/2d/scroll.cc',
431       ],
432     },
433     {
434       # GN version: //ppapi/examples/font
435       'target_name': 'ppapi_example_simple_font',
436       'dependencies': [
437         'ppapi_example_skeleton',
438         'ppapi.gyp:ppapi_cpp',
439       ],
440       'sources': [
441         'examples/font/simple_font.cc',
442       ],
443     },
444     {
445       # GN version: //ppapi/examples/threading
446       'target_name': 'ppapi_example_threading',
447       'dependencies': [
448         'ppapi_example_skeleton',
449         'ppapi.gyp:ppapi_cpp',
450       ],
451       'sources': [
452         'examples/threading/threading.cc',
453       ],
454     },
455     {
456       # GN version: //ppapi/examples/url_loader:streaming
457       'target_name': 'ppapi_example_url_loader',
458       'dependencies': [
459         'ppapi_example_skeleton',
460         'ppapi.gyp:ppapi_cpp',
461       ],
462       'sources': [
463         'examples/url_loader/streaming.cc',
464       ],
465     },
466     {
467       # GN version: //ppapi/examples/url_loader:file
468       'target_name': 'ppapi_example_url_loader_file',
469       'dependencies': [
470         'ppapi_example_skeleton',
471         'ppapi.gyp:ppapi_cpp',
472       ],
473       'sources': [
474         'examples/url_loader/stream_to_file.cc',
475       ],
476     },
477     {
478       # GN version: //ppapi/examples/gles2
479       'target_name': 'ppapi_example_gles2',
480       'dependencies': [
481         'ppapi_example_skeleton',
482         'ppapi.gyp:ppapi_cpp',
483         'ppapi.gyp:ppapi_gles2',
484       ],
485       'include_dirs': [
486         'lib/gl/include',
487       ],
488       'sources': [
489         'examples/gles2/gles2.cc',
490       ],
491     },
492     {
493       # GN version: //ppapi/examples/video_decode:stable
494       'target_name': 'ppapi_example_video_decode',
495       'dependencies': [
496         'ppapi_example_skeleton',
497         'ppapi.gyp:ppapi_cpp',
498         'ppapi.gyp:ppapi_gles2',
499       ],
500       'include_dirs': [
501         'lib/gl/include',
502       ],
503       'sources': [
504         'examples/video_decode/testdata.h',
505         'examples/video_decode/video_decode.cc',
506       ],
507     },
508     {
509       # GN version: //ppapi/examples/video_decode:dev
510       'target_name': 'ppapi_example_video_decode_dev',
511       'dependencies': [
512         'ppapi_example_skeleton',
513         'ppapi.gyp:ppapi_cpp',
514         'ppapi.gyp:ppapi_gles2',
515       ],
516       'include_dirs': [
517         'lib/gl/include',
518       ],
519       'sources': [
520         'examples/video_decode/testdata.h',
521         'examples/video_decode/video_decode_dev.cc',
522       ],
523     },
524     {
525       'target_name': 'ppapi_example_video_encode',
526       'dependencies': [
527         'ppapi_example_skeleton',
528         'ppapi.gyp:ppapi_cpp',
529       ],
530       'sources': [
531         'examples/video_encode/video_encode.cc',
532       ],
533     },
534     {
535       # GN version: //ppapi/example/video_capture
536       'target_name': 'ppapi_example_vc',
537       'dependencies': [
538         'ppapi_example_skeleton',
539         'ppapi.gyp:ppapi_cpp',
540         'ppapi.gyp:ppapi_gles2',
541       ],
542       'include_dirs': [
543         'lib/gl/include',
544       ],
545       'sources': [
546         'examples/video_capture/video_capture.cc',
547       ],
548     },
549     {
550       # GN version: //ppapi/examples/video_effects
551       'target_name': 'ppapi_example_video_effects',
552       'dependencies': [
553         'ppapi_example_skeleton',
554         'ppapi.gyp:ppapi_cpp',
555       ],
556       'sources': [
557         'examples/video_effects/video_effects.cc',
558       ],
559     },
560     {
561       # GN version: //ppapi/examples/enumerate_devices
562       'target_name': 'ppapi_example_enumerate_devices',
563       'dependencies': [
564         'ppapi_example_skeleton',
565         'ppapi.gyp:ppapi_cpp',
566       ],
567       'sources': [
568         'examples/enumerate_devices/enumerate_devices.cc',
569       ],
570     },
571     {
572       # GN version: //ppapi/examples/flash_topmost
573       'target_name': 'ppapi_example_flash_topmost',
574       'dependencies': [
575         'ppapi_example_skeleton',
576         'ppapi.gyp:ppapi_cpp',
577       ],
578       'sources': [
579         'examples/flash_topmost/flash_topmost.cc',
580       ],
581     },
582     {
583       # GN version: //ppapi/examples/printing
584       'target_name': 'ppapi_example_printing',
585       'dependencies': [
586         'ppapi_example_skeleton',
587         'ppapi.gyp:ppapi_cpp',
588       ],
589       'sources': [
590         'examples/printing/printing.cc',
591       ],
592     },
593     {
594       # GN version: //ppapi/examples/media_stream_audio
595       'target_name': 'ppapi_example_media_stream_audio',
596       'dependencies': [
597         'ppapi_example_skeleton',
598         'ppapi.gyp:ppapi_cpp',
599       ],
600       'sources': [
601         'examples/media_stream_audio/media_stream_audio.cc',
602       ],
603     },
604     {
605       # GN version: //ppapi/examples/media_stream_video
606       'target_name': 'ppapi_example_media_stream_video',
607       'dependencies': [
608         'ppapi_example_skeleton',
609         'ppapi.gyp:ppapi_cpp',
610         'ppapi.gyp:ppapi_gles2',
611       ],
612       'include_dirs': [
613         'lib/gl/include',
614       ],
615       'sources': [
616         'examples/media_stream_video/media_stream_video.cc',
617       ],
618     },
619     {
620       # GN version: //ppapi/examples/gles2_spinning_cube
621       'target_name': 'ppapi_example_gles2_spinning_cube',
622       'dependencies': [
623         'ppapi_example_skeleton',
624         'ppapi.gyp:ppapi_cpp',
625         'ppapi.gyp:ppapi_gles2',
626       ],
627       'include_dirs': [
628         'lib/gl/include',
629       ],
630       'sources': [
631         'examples/gles2_spinning_cube/gles2_spinning_cube.cc',
632         'examples/gles2_spinning_cube/spinning_cube.cc',
633         'examples/gles2_spinning_cube/spinning_cube.h',
634       ],
635     },
636     {
637       # GN version: //ppapi/examples/compositor
638       'target_name': 'ppapi_example_compositor',
639       'dependencies': [
640         'ppapi_example_skeleton',
641         'ppapi.gyp:ppapi_cpp',
642         'ppapi.gyp:ppapi_gles2',
643       ],
644       'include_dirs': [
645         'lib/gl/include',
646       ],
647       'sources': [
648         'examples/compositor/compositor.cc',
649         'examples/compositor/spinning_cube.cc',
650         'examples/compositor/spinning_cube.h',
651       ],
652     },
653     # Adding a new PPAPI example? Don't forget to update the GN build.
654     # See //ppapi/examples/BUILD.gn
655   ],