• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2014 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
5gypi_values = exec_script(
6    "//build/gypi_to_gn.py",
7    [ rebase_path("ppapi_sources.gypi") ],
8    "scope",
9    [ "ppapi_sources.gypi" ])
10
11# TODO(GYP) support chrome_multiple_dll
12#if (chrome_multiple_dll) {
13#  blink_target = "//third_party/WebKit/public:blink_minimal"
14#} else {
15#  blink_target = "//third_party/WebKit/public:blink"
16#}
17
18# These are just headers.
19source_set("ppapi_c") {
20  sources = gypi_values.c_source_files
21}
22
23source_set("ppapi_cpp_objects") {
24  sources = gypi_values.cpp_source_files
25
26  if (is_win) {
27    cflags = [
28      "/we4244",  # Implicit conversion, possible loss of data.
29    ]
30  } else {
31    cflags = [
32      "-Wextra",
33      "-pedantic",
34    ]
35  }
36}
37
38source_set("ppapi_cpp") {
39  sources = [
40    "cpp/module_embedder.h",
41    "cpp/ppp_entrypoints.cc",
42  ]
43
44  if (is_posix) {
45    cflags = [
46      "-Wextra",
47      "-pedantic",
48    ]
49  }
50
51  deps = [
52    ":ppapi_c",
53    ":ppapi_cpp_objects",
54  ]
55}
56
57source_set("ppapi_gles2") {
58  sources = [
59    "lib/gl/gles2/gl2ext_ppapi.c",
60    "lib/gl/gles2/gl2ext_ppapi.h",
61    "lib/gl/gles2/gles2.c",
62  ]
63
64  include_dirs = [ "lib/gl/include" ]
65
66  deps = [
67    ":ppapi_c",
68  ]
69}
70
71# TODO(brettw) argument list is too long. Need to add response files.
72#shared_library("ppapi_tests") {
73#  sources = gypi_values.test_common_source_files +
74#            gypi_values.test_trusted_source_files
75#
76#  defines = [ "GL_GLEXT_PROTOTYPES" ]
77#  include_dirs = [ "lib/gl/include" ]
78#
79#  deps = [
80#    ":ppapi_cpp",
81#    ":ppapi_shared",
82#  ]
83#}
84
85component("ppapi_shared") {
86  sources = [
87    "shared_impl/array_var.cc",
88    "shared_impl/array_var.h",
89    "shared_impl/array_writer.cc",
90    "shared_impl/array_writer.h",
91    "shared_impl/callback_tracker.cc",
92    "shared_impl/callback_tracker.h",
93    "shared_impl/dictionary_var.cc",
94    "shared_impl/dictionary_var.h",
95    "shared_impl/file_io_state_manager.cc",
96    "shared_impl/file_io_state_manager.h",
97    "shared_impl/file_growth.cc",
98    "shared_impl/file_growth.h",
99    "shared_impl/file_path.cc",
100    "shared_impl/file_path.h",
101    "shared_impl/file_ref_create_info.cc",
102    "shared_impl/file_ref_create_info.h",
103    "shared_impl/file_ref_util.cc",
104    "shared_impl/file_ref_util.h",
105    "shared_impl/file_system_util.cc",
106    "shared_impl/file_system_util.h",
107    "shared_impl/file_type_conversion.cc",
108    "shared_impl/file_type_conversion.h",
109    "shared_impl/host_resource.cc",
110    "shared_impl/host_resource.h",
111    "shared_impl/id_assignment.cc",
112    "shared_impl/id_assignment.h",
113    "shared_impl/media_stream_buffer.h",
114    "shared_impl/media_stream_buffer_manager.cc",
115    "shared_impl/media_stream_buffer_manager.h",
116    "shared_impl/media_stream_video_track_shared.h",
117    "shared_impl/media_stream_video_track_shared.cc",
118    "shared_impl/platform_file.cc",
119    "shared_impl/platform_file.h",
120    "shared_impl/ppapi_constants.h",
121    "shared_impl/ppapi_globals.cc",
122    "shared_impl/ppapi_globals.h",
123    "shared_impl/ppapi_nacl_plugin_args.cc",
124    "shared_impl/ppapi_nacl_plugin_args.h",
125    "shared_impl/ppapi_permissions.cc",
126    "shared_impl/ppapi_permissions.h",
127    "shared_impl/ppapi_preferences.cc",
128    "shared_impl/ppapi_preferences.h",
129    "shared_impl/ppapi_switches.cc",
130    "shared_impl/ppapi_switches.h",
131    "shared_impl/ppb_audio_config_shared.cc",
132    "shared_impl/ppb_audio_config_shared.h",
133    "shared_impl/ppb_audio_shared.cc",
134    "shared_impl/ppb_audio_shared.h",
135    "shared_impl/ppb_crypto_shared.cc",
136    "shared_impl/ppb_device_ref_shared.cc",
137    "shared_impl/ppb_device_ref_shared.h",
138    "shared_impl/ppb_gamepad_shared.cc",
139    "shared_impl/ppb_gamepad_shared.h",
140    "shared_impl/ppb_graphics_3d_shared.cc",
141    "shared_impl/ppb_graphics_3d_shared.h",
142    "shared_impl/ppb_image_data_shared.cc",
143    "shared_impl/ppb_image_data_shared.h",
144    "shared_impl/ppb_input_event_shared.cc",
145    "shared_impl/ppb_input_event_shared.h",
146    "shared_impl/ppb_instance_shared.cc",
147    "shared_impl/ppb_instance_shared.h",
148    "shared_impl/ppb_memory_shared.cc",
149    "shared_impl/ppb_message_loop_shared.cc",
150    "shared_impl/ppb_message_loop_shared.h",
151    "shared_impl/ppb_opengles2_shared.cc",
152    "shared_impl/ppb_opengles2_shared.h",
153    "shared_impl/ppb_tcp_socket_shared.cc",
154    "shared_impl/ppb_tcp_socket_shared.h",
155    "shared_impl/ppb_trace_event_impl.cc",
156    "shared_impl/ppb_trace_event_impl.h",
157    "shared_impl/ppb_var_shared.cc",
158    "shared_impl/ppb_var_shared.h",
159    "shared_impl/ppb_view_shared.cc",
160    "shared_impl/ppb_view_shared.h",
161    "shared_impl/ppp_flash_browser_operations_shared.h",
162    "shared_impl/ppp_instance_combined.cc",
163    "shared_impl/ppp_instance_combined.h",
164    "shared_impl/proxy_lock.cc",
165    "shared_impl/proxy_lock.h",
166    "shared_impl/resource.cc",
167    "shared_impl/resource.h",
168    "shared_impl/resource_tracker.cc",
169    "shared_impl/resource_tracker.h",
170    "shared_impl/resource_var.cc",
171    "shared_impl/resource_var.h",
172    "shared_impl/scoped_pp_resource.cc",
173    "shared_impl/scoped_pp_resource.h",
174    "shared_impl/scoped_pp_var.cc",
175    "shared_impl/scoped_pp_var.h",
176    "shared_impl/socket_option_data.cc",
177    "shared_impl/socket_option_data.h",
178    "shared_impl/thread_aware_callback.cc",
179    "shared_impl/thread_aware_callback.h",
180    "shared_impl/time_conversion.cc",
181    "shared_impl/time_conversion.h",
182    "shared_impl/tracked_callback.cc",
183    "shared_impl/tracked_callback.h",
184    "shared_impl/url_request_info_data.cc",
185    "shared_impl/url_request_info_data.h",
186    "shared_impl/url_response_info_data.cc",
187    "shared_impl/url_response_info_data.h",
188    "shared_impl/var.cc",
189    "shared_impl/var.h",
190    "shared_impl/var_tracker.cc",
191    "shared_impl/var_tracker.h",
192    # TODO(viettrungluu): Split these out; it won"t be used in NaCl.
193    "shared_impl/private/net_address_private_impl.cc",
194    "shared_impl/private/net_address_private_impl_constants.cc",
195    "shared_impl/private/net_address_private_impl.h",
196
197    "shared_impl/private/ppb_x509_certificate_private_shared.cc",
198    "shared_impl/private/ppb_x509_certificate_private_shared.h",
199
200    "thunk/enter.cc",
201    "thunk/enter.h",
202    "thunk/ppb_audio_api.h",
203    "thunk/ppb_audio_config_api.h",
204    "thunk/ppb_audio_config_thunk.cc",
205    "thunk/ppb_audio_buffer_api.h",
206    "thunk/ppb_audio_buffer_thunk.cc",
207    "thunk/ppb_audio_input_api.h",
208    "thunk/ppb_audio_thunk.cc",
209    "thunk/ppb_broker_api.h",
210    "thunk/ppb_browser_font_trusted_api.h",
211    "thunk/ppb_buffer_api.h",
212    "thunk/ppb_console_thunk.cc",
213    "thunk/ppb_cursor_control_thunk.cc",
214    "thunk/ppb_device_ref_api.h",
215    "thunk/ppb_device_ref_dev_thunk.cc",
216    "thunk/ppb_ext_crx_file_system_private_thunk.cc",
217    "thunk/ppb_file_chooser_api.h",
218    "thunk/ppb_file_chooser_dev_thunk.cc",
219    "thunk/ppb_file_chooser_trusted_thunk.cc",
220    "thunk/ppb_file_io_api.h",
221    "thunk/ppb_file_io_private_thunk.cc",
222    "thunk/ppb_file_io_thunk.cc",
223    "thunk/ppb_file_mapping_thunk.cc",
224    "thunk/ppb_file_ref_api.h",
225    "thunk/ppb_file_ref_thunk.cc",
226    "thunk/ppb_file_system_api.h",
227    "thunk/ppb_file_system_thunk.cc",
228    "thunk/ppb_find_private_thunk.cc",
229    "thunk/ppb_flash_clipboard_api.h",
230    "thunk/ppb_flash_drm_api.h",
231    "thunk/ppb_flash_font_file_api.h",
232    "thunk/ppb_flash_fullscreen_api.h",
233    "thunk/ppb_flash_functions_api.h",
234    "thunk/ppb_flash_menu_api.h",
235    "thunk/ppb_flash_message_loop_api.h",
236    "thunk/ppb_flash_print_thunk.cc",
237    "thunk/ppb_fullscreen_thunk.cc",
238    "thunk/ppb_gamepad_api.h",
239    "thunk/ppb_gamepad_thunk.cc",
240    "thunk/ppb_graphics_2d_api.h",
241    "thunk/ppb_graphics_2d_thunk.cc",
242    "thunk/ppb_graphics_3d_api.h",
243    "thunk/ppb_graphics_3d_thunk.cc",
244    "thunk/ppb_host_resolver_api.h",
245    "thunk/ppb_host_resolver_thunk.cc",
246    "thunk/ppb_host_resolver_private_api.h",
247    "thunk/ppb_host_resolver_private_thunk.cc",
248    "thunk/ppb_image_data_api.h",
249    "thunk/ppb_image_data_thunk.cc",
250    "thunk/ppb_input_event_api.h",
251    "thunk/ppb_input_event_thunk.cc",
252    "thunk/ppb_instance_api.h",
253    "thunk/ppb_instance_private_thunk.cc",
254    "thunk/ppb_instance_thunk.cc",
255    "thunk/ppb_isolated_file_system_private_api.h",
256    "thunk/ppb_isolated_file_system_private_thunk.cc",
257    "thunk/ppb_media_stream_audio_track_api.h",
258    "thunk/ppb_media_stream_audio_track_thunk.cc",
259    "thunk/ppb_media_stream_video_track_api.h",
260    "thunk/ppb_media_stream_video_track_thunk.cc",
261    "thunk/ppb_message_loop_api.h",
262    "thunk/ppb_messaging_thunk.cc",
263    "thunk/ppb_mouse_cursor_thunk.cc",
264    "thunk/ppb_mouse_lock_thunk.cc",
265    "thunk/ppb_net_address_api.h",
266    "thunk/ppb_net_address_thunk.cc",
267    "thunk/ppb_network_list_api.h",
268    "thunk/ppb_network_list_thunk.cc",
269    "thunk/ppb_network_monitor_api.h",
270    "thunk/ppb_network_monitor_thunk.cc",
271    "thunk/ppb_network_proxy_api.h",
272    "thunk/ppb_network_proxy_thunk.cc",
273    "thunk/ppb_output_protection_api.h",
274    "thunk/ppb_output_protection_private_thunk.cc",
275    "thunk/ppb_pdf_api.h",
276    "thunk/ppb_platform_verification_api.h",
277    "thunk/ppb_printing_api.h",
278    "thunk/ppb_printing_dev_thunk.cc",
279    "thunk/ppb_scrollbar_api.h",
280    "thunk/ppb_talk_private_api.h",
281    "thunk/ppb_tcp_server_socket_private_api.h",
282    "thunk/ppb_tcp_server_socket_private_thunk.cc",
283    "thunk/ppb_tcp_socket_api.h",
284    "thunk/ppb_tcp_socket_private_api.h",
285    "thunk/ppb_tcp_socket_private_thunk.cc",
286    "thunk/ppb_tcp_socket_thunk.cc",
287    "thunk/ppb_text_input_thunk.cc",
288    "thunk/ppb_truetype_font_api.h",
289    "thunk/ppb_truetype_font_singleton_api.h",
290    "thunk/ppb_truetype_font_dev_thunk.cc",
291    "thunk/ppb_udp_socket_api.h",
292    "thunk/ppb_udp_socket_thunk.cc",
293    "thunk/ppb_udp_socket_private_api.h",
294    "thunk/ppb_udp_socket_private_thunk.cc",
295    "thunk/ppb_uma_private_thunk.cc",
296    "thunk/ppb_uma_singleton_api.h",
297    "thunk/ppb_url_loader_api.h",
298    "thunk/ppb_url_loader_thunk.cc",
299    "thunk/ppb_url_loader_trusted_thunk.cc",
300    "thunk/ppb_url_request_info_api.h",
301    "thunk/ppb_url_request_info_thunk.cc",
302    "thunk/ppb_url_response_info_api.h",
303    "thunk/ppb_url_response_info_thunk.cc",
304    "thunk/ppb_var_array_thunk.cc",
305    "thunk/ppb_var_dictionary_thunk.cc",
306    "thunk/ppb_video_capture_api.h",
307    "thunk/ppb_video_decoder_api.h",
308    "thunk/ppb_video_decoder_dev_api.h",
309    "thunk/ppb_video_destination_private_api.h",
310    "thunk/ppb_video_destination_private_thunk.cc",
311    "thunk/ppb_video_frame_api.h",
312    "thunk/ppb_video_frame_thunk.cc",
313    "thunk/ppb_video_source_private_api.h",
314    "thunk/ppb_video_source_private_thunk.cc",
315    "thunk/ppb_view_api.h",
316    "thunk/ppb_view_dev_thunk.cc",
317    "thunk/ppb_view_thunk.cc",
318    "thunk/ppb_websocket_api.h",
319    "thunk/ppb_websocket_thunk.cc",
320    "thunk/ppb_widget_api.h",
321    "thunk/ppb_widget_dev_thunk.cc",
322    "thunk/ppb_x509_certificate_private_api.h",
323    "thunk/ppb_x509_certificate_private_thunk.cc",
324    "thunk/ppb_zoom_dev_thunk.cc",
325    "thunk/thunk.h",
326  ]
327
328  if (!is_nacl) {
329    sources += [
330      "shared_impl/flash_clipboard_format_registry.cc",
331      "shared_impl/flash_clipboard_format_registry.h",
332      "shared_impl/ppb_url_util_shared.cc",
333      "shared_impl/ppb_url_util_shared.h",
334      "shared_impl/ppb_video_decoder_shared.cc",
335      "shared_impl/ppb_video_decoder_shared.h",
336      "shared_impl/private/ppb_char_set_shared.cc",
337      "shared_impl/private/ppb_char_set_shared.h",
338      "thunk/ppb_audio_input_dev_thunk.cc",
339      "thunk/ppb_broker_thunk.cc",
340      "thunk/ppb_browser_font_trusted_thunk.cc",
341      "thunk/ppb_buffer_thunk.cc",
342      "thunk/ppb_content_decryptor_private_thunk.cc",
343      "thunk/ppb_char_set_thunk.cc",
344      "thunk/ppb_flash_clipboard_thunk.cc",
345      "thunk/ppb_flash_device_id_thunk.cc",
346      "thunk/ppb_flash_drm_thunk.cc",
347      "thunk/ppb_flash_file_fileref_thunk.cc",
348      "thunk/ppb_flash_file_modulelocal_thunk.cc",
349      "thunk/ppb_flash_font_file_thunk.cc",
350      "thunk/ppb_flash_fullscreen_thunk.cc",
351      "thunk/ppb_flash_menu_thunk.cc",
352      "thunk/ppb_flash_thunk.cc",
353      "thunk/ppb_flash_message_loop_thunk.cc",
354      "thunk/ppb_gles_chromium_texture_mapping_thunk.cc",
355      "thunk/ppb_pdf_thunk.cc",
356      "thunk/ppb_platform_verification_private_thunk.cc",
357      "thunk/ppb_scrollbar_thunk.cc",
358      "thunk/ppb_talk_private_thunk.cc",
359      "thunk/ppb_url_util_thunk.cc",
360      "thunk/ppb_video_capture_thunk.cc",
361      "thunk/ppb_video_decoder_dev_thunk.cc",
362    ]
363  }
364
365  # We exclude a few more things for nacl_win64, to avoid pulling in more
366  # dependencies.
367  if (is_win && cpu_arch == "x64" && current_toolchain != default_toolchain) {
368    sources -= [
369      "shared_impl/ppb_audio_shared.cc",
370      "shared_impl/ppb_graphics_3d_shared.cc",
371      "shared_impl/ppb_opengles2_shared.cc",
372      "shared_impl/private/ppb_host_resolver_shared.cc",
373      "shared_impl/private/net_address_private_impl.cc",
374      "thunk/ppb_graphics_3d_thunk.cc",
375      "thunk/ppb_host_resolver_private_thunk.cc",
376      "thunk/ppb_tcp_server_socket_private_thunk.cc",
377      "thunk/ppb_tcp_socket_private_thunk.cc",
378      "thunk/ppb_udp_socket_private_thunk.cc",
379      "thunk/ppb_x509_certificate_private_thunk.cc",
380    ]
381  }
382
383  defines = [
384    "PPAPI_SHARED_IMPLEMENTATION",
385    "PPAPI_THUNK_IMPLEMENTATION",
386  ]
387
388  deps = [
389    ":ppapi_c",
390    "//base",
391    "//base:i18n",
392    "//base/third_party/dynamic_annotations",
393    "//gpu/command_buffer/client",
394    "//gpu/command_buffer/client:gles2_implementation",
395    "//gpu/command_buffer/common",
396    "//ipc",
397    #"//media:shared_memory_support",  TODO(GYP)
398    "//skia",
399    "//third_party/icu:icuuc",
400    "//ui/surface",
401    "//url",
402  ]
403
404  if (is_mac) {
405    libs = [ "QuartzCore.framework" ]
406  } else if (is_win) {
407    cflags = [ "/wd4267" ]  # size_t to int truncation.
408  }
409
410  # TODO(GYP)
411  #deps += [ blink_target ]
412  #forward_dependent_configs_from = [ blink_target ]
413}
414
415source_set("ppapi_ipc") {
416  sources = [
417    "proxy/nacl_message_scanner.cc",
418    "proxy/nacl_message_scanner.h",
419    "proxy/ppapi_messages.cc",
420    "proxy/ppapi_messages.h",
421    "proxy/ppapi_param_traits.cc",
422    "proxy/ppapi_param_traits.h",
423    "proxy/raw_var_data.cc",
424    "proxy/raw_var_data.h",
425    "proxy/resource_message_params.cc",
426    "proxy/resource_message_params.h",
427    "proxy/serialized_flash_menu.cc",
428    "proxy/serialized_flash_menu.h",
429    "proxy/serialized_handle.cc",
430    "proxy/serialized_handle.h",
431    "proxy/serialized_structs.cc",
432    "proxy/serialized_structs.h",
433    "proxy/serialized_var.cc",
434    "proxy/serialized_var.h",
435    "proxy/var_serialization_rules.h",
436  ]
437
438  deps = [
439    ":ppapi_c",
440    ":ppapi_shared",
441    "//base",
442    "//gpu/ipc",
443    "//ipc",
444    "//skia",
445  ]
446
447  if (is_nacl) {
448    sources -= [ "proxy/serialized_flash_menu.cc" ]
449  }
450}
451
452component("ppapi_proxy") {
453  sources = [
454    # Take some standalone files from the C++ wrapper allowing us to more
455    # easily make async callbacks in the proxy. We can"t depend on the
456    # full C++ wrappers at this layer since the C++ wrappers expect
457    # symbols defining the globals for "being a plugin" which we are not.
458    # These callback files are standalone.
459    "cpp/completion_callback.h",
460    "utility/completion_callback_factory.h",
461
462    "proxy/audio_buffer_resource.cc",
463    "proxy/audio_buffer_resource.h",
464    "proxy/broker_resource.cc",
465    "proxy/broker_resource.h",
466    "proxy/connection.h",
467    "proxy/dispatcher.cc",
468    "proxy/dispatcher.h",
469    "proxy/enter_proxy.h",
470    "proxy/error_conversion.cc",
471    "proxy/error_conversion.h",
472    "proxy/file_chooser_resource.cc",
473    "proxy/file_chooser_resource.h",
474    "proxy/file_io_resource.cc",
475    "proxy/file_io_resource.h",
476    "proxy/file_mapping_resource.cc",
477    "proxy/file_mapping_resource.h",
478    "proxy/file_mapping_resource_posix.cc",
479    "proxy/file_mapping_resource_win.cc",
480    "proxy/file_ref_resource.cc",
481    "proxy/file_ref_resource.h",
482    "proxy/file_system_resource.cc",
483    "proxy/file_system_resource.h",
484    "proxy/gamepad_resource.cc",
485    "proxy/gamepad_resource.h",
486    "proxy/graphics_2d_resource.cc",
487    "proxy/graphics_2d_resource.h",
488    "proxy/host_resolver_private_resource.cc",
489    "proxy/host_resolver_private_resource.h",
490    "proxy/host_resolver_resource.cc",
491    "proxy/host_resolver_resource.h",
492    "proxy/host_resolver_resource_base.cc",
493    "proxy/host_resolver_resource_base.h",
494    "proxy/interface_list.cc",
495    "proxy/interface_list.h",
496    "proxy/interface_proxy.cc",
497    "proxy/interface_proxy.h",
498    "proxy/isolated_file_system_private_resource.cc",
499    "proxy/isolated_file_system_private_resource.h",
500    "proxy/locking_resource_releaser.h",
501    "proxy/media_stream_audio_track_resource.cc",
502    "proxy/media_stream_audio_track_resource.h",
503    "proxy/media_stream_track_resource_base.cc",
504    "proxy/media_stream_track_resource_base.h",
505    "proxy/media_stream_video_track_resource.cc",
506    "proxy/media_stream_video_track_resource.h",
507    "proxy/net_address_resource.cc",
508    "proxy/net_address_resource.h",
509    "proxy/network_list_resource.cc",
510    "proxy/network_list_resource.h",
511    "proxy/network_monitor_resource.cc",
512    "proxy/network_monitor_resource.h",
513    "proxy/network_proxy_resource.cc",
514    "proxy/network_proxy_resource.h",
515    "proxy/output_protection_resource.cc",
516    "proxy/output_protection_resource.h",
517    "proxy/plugin_array_buffer_var.cc",
518    "proxy/plugin_array_buffer_var.h",
519    "proxy/plugin_dispatcher.cc",
520    "proxy/plugin_dispatcher.h",
521    "proxy/plugin_globals.cc",
522    "proxy/plugin_globals.h",
523    "proxy/plugin_message_filter.cc",
524    "proxy/plugin_message_filter.h",
525    "proxy/plugin_resource.cc",
526    "proxy/plugin_resource.h",
527    "proxy/plugin_resource_tracker.cc",
528    "proxy/plugin_resource_tracker.h",
529    "proxy/plugin_resource_var.cc",
530    "proxy/plugin_resource_var.h",
531    "proxy/plugin_var_serialization_rules.cc",
532    "proxy/plugin_var_serialization_rules.h",
533    "proxy/plugin_var_tracker.cc",
534    "proxy/plugin_var_tracker.h",
535    "proxy/ppapi_command_buffer_proxy.cc",
536    "proxy/ppapi_command_buffer_proxy.h",
537    "proxy/ppapi_messages.h",
538    "proxy/ppapi_message_utils.h",
539    "proxy/ppb_audio_proxy.cc",
540    "proxy/ppb_audio_proxy.h",
541    "proxy/ppb_core_proxy.cc",
542    "proxy/ppb_core_proxy.h",
543    "proxy/ppb_graphics_3d_proxy.cc",
544    "proxy/ppb_graphics_3d_proxy.h",
545    "proxy/ppb_image_data_proxy.cc",
546    "proxy/ppb_image_data_proxy.h",
547    "proxy/ppb_instance_proxy.cc",
548    "proxy/ppb_instance_proxy.h",
549    "proxy/ppb_message_loop_proxy.cc",
550    "proxy/ppb_message_loop_proxy.h",
551    "proxy/ppb_testing_proxy.cc",
552    "proxy/ppb_testing_proxy.h",
553    "proxy/ppb_var_deprecated_proxy.cc",
554    "proxy/ppb_var_deprecated_proxy.h",
555    "proxy/ppb_x509_certificate_private_proxy.cc",
556    "proxy/ppb_x509_certificate_private_proxy.h",
557    "proxy/ppp_class_proxy.cc",
558    "proxy/ppp_class_proxy.h",
559    "proxy/ppp_find_proxy.cc",
560    "proxy/ppp_find_proxy.h",
561    "proxy/ppp_graphics_3d_proxy.cc",
562    "proxy/ppp_graphics_3d_proxy.h",
563    "proxy/ppp_input_event_proxy.cc",
564    "proxy/ppp_input_event_proxy.h",
565    "proxy/ppp_instance_proxy.cc",
566    "proxy/ppp_instance_proxy.h",
567    "proxy/ppp_messaging_proxy.cc",
568    "proxy/ppp_messaging_proxy.h",
569    "proxy/ppp_mouse_lock_proxy.cc",
570    "proxy/ppp_mouse_lock_proxy.h",
571    "proxy/ppp_pdf_proxy.cc",
572    "proxy/ppp_pdf_proxy.h",
573    "proxy/ppp_printing_proxy.cc",
574    "proxy/ppp_printing_proxy.h",
575    "proxy/ppp_text_input_proxy.cc",
576    "proxy/ppp_text_input_proxy.h",
577    "proxy/printing_resource.cc",
578    "proxy/printing_resource.h",
579    "proxy/proxy_array_output.cc",
580    "proxy/proxy_array_output.h",
581    "proxy/proxy_channel.cc",
582    "proxy/proxy_channel.h",
583    "proxy/proxy_completion_callback_factory.h",
584    "proxy/proxy_module.cc",
585    "proxy/proxy_module.h",
586    "proxy/proxy_object_var.cc",
587    "proxy/proxy_object_var.h",
588    "proxy/resource_creation_proxy.cc",
589    "proxy/resource_creation_proxy.h",
590    "proxy/resource_reply_thread_registrar.cc",
591    "proxy/resource_reply_thread_registrar.h",
592    "proxy/tcp_server_socket_private_resource.cc",
593    "proxy/tcp_server_socket_private_resource.h",
594    "proxy/tcp_socket_private_resource.cc",
595    "proxy/tcp_socket_private_resource.h",
596    "proxy/tcp_socket_resource.cc",
597    "proxy/tcp_socket_resource.h",
598    "proxy/tcp_socket_resource_base.cc",
599    "proxy/tcp_socket_resource_base.h",
600    "proxy/truetype_font_resource.cc",
601    "proxy/truetype_font_resource.h",
602    "proxy/truetype_font_singleton_resource.cc",
603    "proxy/truetype_font_singleton_resource.h",
604    "proxy/udp_socket_private_resource.cc",
605    "proxy/udp_socket_private_resource.h",
606    "proxy/udp_socket_resource.cc",
607    "proxy/udp_socket_resource.h",
608    "proxy/udp_socket_resource_base.cc",
609    "proxy/udp_socket_resource_base.h",
610    "proxy/uma_private_resource.cc",
611    "proxy/uma_private_resource.h",
612    "proxy/url_loader_resource.cc",
613    "proxy/url_loader_resource.h",
614    "proxy/url_request_info_resource.cc",
615    "proxy/url_request_info_resource.h",
616    "proxy/url_response_info_resource.cc",
617    "proxy/url_response_info_resource.h",
618    "proxy/var_serialization_rules.h",
619    "proxy/video_destination_resource.cc",
620    "proxy/video_destination_resource.h",
621    "proxy/video_frame_resource.cc",
622    "proxy/video_frame_resource.h",
623    "proxy/video_source_resource.cc",
624    "proxy/video_source_resource.h",
625    "proxy/websocket_resource.cc",
626    "proxy/websocket_resource.h",
627  ]
628
629  if (is_nacl) {
630    sources += [
631      "nacl_irt/irt_ppapi.cc",
632      "nacl_irt/irt_ppapi.h",
633      "nacl_irt/irt_start.cc",
634      "nacl_irt/manifest_service.cc",
635      "nacl_irt/manifest_service.h",
636      "nacl_irt/plugin_main.cc",
637      "nacl_irt/plugin_main.h",
638      "nacl_irt/plugin_startup.cc",
639      "nacl_irt/plugin_startup.h",
640      "nacl_irt/ppapi_dispatcher.cc",
641      "nacl_irt/ppapi_dispatcher.h",
642    ]
643  } else {
644    sources += [
645      "proxy/audio_input_resource.cc",
646      "proxy/audio_input_resource.h",
647      "proxy/broker_dispatcher.cc",
648      "proxy/broker_dispatcher.h",
649      "proxy/browser_font_singleton_resource.cc",
650      "proxy/browser_font_singleton_resource.h",
651      "proxy/device_enumeration_resource_helper.cc",
652      "proxy/device_enumeration_resource_helper.h",
653      "proxy/flash_clipboard_resource.cc",
654      "proxy/flash_clipboard_resource.h",
655      "proxy/flash_drm_resource.cc",
656      "proxy/flash_drm_resource.h",
657      "proxy/flash_file_resource.cc",
658      "proxy/flash_file_resource.h",
659      "proxy/flash_font_file_resource.cc",
660      "proxy/flash_font_file_resource.h",
661      "proxy/flash_fullscreen_resource.cc",
662      "proxy/flash_fullscreen_resource.h",
663      "proxy/flash_menu_resource.cc",
664      "proxy/flash_menu_resource.h",
665      "proxy/flash_resource.cc",
666      "proxy/flash_resource.h",
667      "proxy/host_dispatcher.cc",
668      "proxy/host_dispatcher.h",
669      "proxy/host_var_serialization_rules.cc",
670      "proxy/host_var_serialization_rules.h",
671      "proxy/pdf_resource.cc",
672      "proxy/pdf_resource.h",
673      "proxy/platform_verification_private_resource.cc",
674      "proxy/platform_verification_private_resource.h",
675      "proxy/ppb_broker_proxy.cc",
676      "proxy/ppb_broker_proxy.h",
677      "proxy/ppb_buffer_proxy.cc",
678      "proxy/ppb_buffer_proxy.h",
679      "proxy/ppb_flash_message_loop_proxy.cc",
680      "proxy/ppb_flash_message_loop_proxy.h",
681      "proxy/ppb_video_decoder_proxy.cc",
682      "proxy/ppb_video_decoder_proxy.h",
683      "proxy/ppp_content_decryptor_private_proxy.cc",
684      "proxy/ppp_content_decryptor_private_proxy.h",
685      "proxy/ppp_instance_private_proxy.cc",
686      "proxy/ppp_instance_private_proxy.h",
687      "proxy/ppp_video_decoder_proxy.cc",
688      "proxy/ppp_video_decoder_proxy.h",
689      "proxy/talk_resource.cc",
690      "proxy/talk_resource.h",
691      "proxy/video_capture_resource.cc",
692      "proxy/video_capture_resource.h",
693    ]
694  }
695
696  defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]
697
698  deps = [
699    ":ppapi_c",
700    ":ppapi_shared",
701    ":ppapi_ipc",
702    "//base",
703    "//base/third_party/dynamic_annotations",
704    "//gpu/command_buffer/client:gles2_implementation",
705    "//gpu/ipc",
706    #"//media:shared_memory_support",  # TODO(GYP)
707    "//ipc",
708    "//skia",
709    "//third_party/icu",
710    "//ui/surface",
711    #blink_target,  TODO(GYP)
712  ]
713
714  if (is_win) {
715    cflags = [ "/wd4267" ]  # size_t to int truncation.
716  }
717}
718
719# TODO(GYP) other targets from ppapi_tests.gyp
720