# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

gypi_values = exec_script(
    "//build/gypi_to_gn.py",
    [ rebase_path("ppapi_sources.gypi") ],
    "scope",
    [ "ppapi_sources.gypi" ])

# TODO(GYP) support chrome_multiple_dll
#if (chrome_multiple_dll) {
#  blink_target = "//third_party/WebKit/public:blink_minimal"
#} else {
  blink_target = "//third_party/WebKit/public:blink"
#}

# These are just headers.
source_set("ppapi_c") {
  sources = gypi_values.c_source_files
}

source_set("ppapi_cpp_objects") {
  sources = gypi_values.cpp_source_files

  if (is_win) {
    cflags = [
      "/we4244",  # Implicit conversion, possible loss of data.
    ]
  } else {
    cflags = [
      "-Wextra",
      "-pedantic",
    ]
  }
}

source_set("ppapi_cpp") {
  sources = [
    "cpp/module_embedder.h",
    "cpp/ppp_entrypoints.cc",
  ]

  if (is_posix) {
    cflags = [
      "-Wextra",
      "-pedantic",
    ]
  }

  deps = [
    ":ppapi_c",
    ":ppapi_cpp_objects",
  ]
}

source_set("ppapi_internal_module") {
  sources = [
    "cpp/private/internal_module.cc",
    "cpp/private/internal_module.h",
  ]
}

source_set("ppapi_gles2") {
  sources = [
    "lib/gl/gles2/gl2ext_ppapi.c",
    "lib/gl/gles2/gl2ext_ppapi.h",
    "lib/gl/gles2/gles2.c",
  ]

  include_dirs = [ "lib/gl/include" ]

  deps = [
    ":ppapi_c",
  ]
}

# TODO(brettw) argument list is too long. Need to add response files.
#shared_library("ppapi_tests") {
#  sources = gypi_values.test_common_source_files +
#            gypi_values.test_trusted_source_files
#
#  defines = [ "GL_GLEXT_PROTOTYPES" ]
#  include_dirs = [ "lib/gl/include" ]
#
#  deps = [
#    ":ppapi_cpp",
#    ":ppapi_shared",
#  ]
#}

component("ppapi_shared") {
  sources = [
    "shared_impl/array_var.cc",
    "shared_impl/array_var.h",
    "shared_impl/array_writer.cc",
    "shared_impl/array_writer.h",
    "shared_impl/callback_tracker.cc",
    "shared_impl/callback_tracker.h",
    "shared_impl/compositor_layer_data.cc",
    "shared_impl/compositor_layer_data.h",
    "shared_impl/dictionary_var.cc",
    "shared_impl/dictionary_var.h",
    "shared_impl/file_io_state_manager.cc",
    "shared_impl/file_io_state_manager.h",
    "shared_impl/file_growth.cc",
    "shared_impl/file_growth.h",
    "shared_impl/file_path.cc",
    "shared_impl/file_path.h",
    "shared_impl/file_ref_create_info.cc",
    "shared_impl/file_ref_create_info.h",
    "shared_impl/file_ref_util.cc",
    "shared_impl/file_ref_util.h",
    "shared_impl/file_system_util.cc",
    "shared_impl/file_system_util.h",
    "shared_impl/file_type_conversion.cc",
    "shared_impl/file_type_conversion.h",
    "shared_impl/host_resource.cc",
    "shared_impl/host_resource.h",
    "shared_impl/id_assignment.cc",
    "shared_impl/id_assignment.h",
    "shared_impl/media_stream_buffer.h",
    "shared_impl/media_stream_buffer_manager.cc",
    "shared_impl/media_stream_buffer_manager.h",
    "shared_impl/media_stream_audio_track_shared.cc",
    "shared_impl/media_stream_audio_track_shared.h",
    "shared_impl/media_stream_video_track_shared.h",
    "shared_impl/media_stream_video_track_shared.cc",
    "shared_impl/platform_file.cc",
    "shared_impl/platform_file.h",
    "shared_impl/ppapi_constants.h",
    "shared_impl/ppapi_globals.cc",
    "shared_impl/ppapi_globals.h",
    "shared_impl/ppapi_nacl_plugin_args.cc",
    "shared_impl/ppapi_nacl_plugin_args.h",
    "shared_impl/ppapi_permissions.cc",
    "shared_impl/ppapi_permissions.h",
    "shared_impl/ppapi_preferences.cc",
    "shared_impl/ppapi_preferences.h",
    "shared_impl/ppapi_switches.cc",
    "shared_impl/ppapi_switches.h",
    "shared_impl/ppb_audio_config_shared.cc",
    "shared_impl/ppb_audio_config_shared.h",
    "shared_impl/ppb_audio_shared.cc",
    "shared_impl/ppb_audio_shared.h",
    "shared_impl/ppb_crypto_shared.cc",
    "shared_impl/ppb_device_ref_shared.cc",
    "shared_impl/ppb_device_ref_shared.h",
    "shared_impl/ppb_gamepad_shared.cc",
    "shared_impl/ppb_gamepad_shared.h",
    "shared_impl/ppb_graphics_3d_shared.cc",
    "shared_impl/ppb_graphics_3d_shared.h",
    "shared_impl/ppb_image_data_shared.cc",
    "shared_impl/ppb_image_data_shared.h",
    "shared_impl/ppb_input_event_shared.cc",
    "shared_impl/ppb_input_event_shared.h",
    "shared_impl/ppb_instance_shared.cc",
    "shared_impl/ppb_instance_shared.h",
    "shared_impl/ppb_memory_shared.cc",
    "shared_impl/ppb_message_loop_shared.cc",
    "shared_impl/ppb_message_loop_shared.h",
    "shared_impl/ppb_opengles2_shared.cc",
    "shared_impl/ppb_opengles2_shared.h",
    "shared_impl/ppb_tcp_socket_shared.cc",
    "shared_impl/ppb_tcp_socket_shared.h",
    "shared_impl/ppb_trace_event_impl.cc",
    "shared_impl/ppb_trace_event_impl.h",
    "shared_impl/ppb_var_shared.cc",
    "shared_impl/ppb_var_shared.h",
    "shared_impl/ppb_view_shared.cc",
    "shared_impl/ppb_view_shared.h",
    "shared_impl/ppp_flash_browser_operations_shared.h",
    "shared_impl/ppp_instance_combined.cc",
    "shared_impl/ppp_instance_combined.h",
    "shared_impl/proxy_lock.cc",
    "shared_impl/proxy_lock.h",
    "shared_impl/resource.cc",
    "shared_impl/resource.h",
    "shared_impl/resource_tracker.cc",
    "shared_impl/resource_tracker.h",
    "shared_impl/resource_var.cc",
    "shared_impl/resource_var.h",
    "shared_impl/scoped_pp_resource.cc",
    "shared_impl/scoped_pp_resource.h",
    "shared_impl/scoped_pp_var.cc",
    "shared_impl/scoped_pp_var.h",
    "shared_impl/socket_option_data.cc",
    "shared_impl/socket_option_data.h",
    "shared_impl/thread_aware_callback.cc",
    "shared_impl/thread_aware_callback.h",
    "shared_impl/time_conversion.cc",
    "shared_impl/time_conversion.h",
    "shared_impl/tracked_callback.cc",
    "shared_impl/tracked_callback.h",
    "shared_impl/url_request_info_data.cc",
    "shared_impl/url_request_info_data.h",
    "shared_impl/url_response_info_data.cc",
    "shared_impl/url_response_info_data.h",
    "shared_impl/var.cc",
    "shared_impl/var.h",
    "shared_impl/var_tracker.cc",
    "shared_impl/var_tracker.h",
    # TODO(viettrungluu): Split these out; it won"t be used in NaCl.
    "shared_impl/private/net_address_private_impl.cc",
    "shared_impl/private/net_address_private_impl_constants.cc",
    "shared_impl/private/net_address_private_impl.h",

    "shared_impl/private/ppb_x509_certificate_private_shared.cc",
    "shared_impl/private/ppb_x509_certificate_private_shared.h",

    "thunk/enter.cc",
    "thunk/enter.h",
    "thunk/ppb_audio_api.h",
    "thunk/ppb_audio_config_api.h",
    "thunk/ppb_audio_config_thunk.cc",
    "thunk/ppb_audio_buffer_api.h",
    "thunk/ppb_audio_buffer_thunk.cc",
    "thunk/ppb_audio_input_api.h",
    "thunk/ppb_audio_thunk.cc",
    "thunk/ppb_broker_api.h",
    "thunk/ppb_browser_font_trusted_api.h",
    "thunk/ppb_buffer_api.h",
    "thunk/ppb_compositor_api.h",
    "thunk/ppb_compositor_layer_api.h",
    "thunk/ppb_compositor_layer_thunk.cc",
    "thunk/ppb_compositor_thunk.cc",
    "thunk/ppb_console_thunk.cc",
    "thunk/ppb_cursor_control_thunk.cc",
    "thunk/ppb_device_ref_api.h",
    "thunk/ppb_device_ref_dev_thunk.cc",
    "thunk/ppb_ext_crx_file_system_private_thunk.cc",
    "thunk/ppb_file_chooser_api.h",
    "thunk/ppb_file_chooser_dev_thunk.cc",
    "thunk/ppb_file_chooser_trusted_thunk.cc",
    "thunk/ppb_file_io_api.h",
    "thunk/ppb_file_io_private_thunk.cc",
    "thunk/ppb_file_io_thunk.cc",
    "thunk/ppb_file_mapping_thunk.cc",
    "thunk/ppb_file_ref_api.h",
    "thunk/ppb_file_ref_thunk.cc",
    "thunk/ppb_file_system_api.h",
    "thunk/ppb_file_system_thunk.cc",
    "thunk/ppb_find_private_thunk.cc",
    "thunk/ppb_flash_clipboard_api.h",
    "thunk/ppb_flash_drm_api.h",
    "thunk/ppb_flash_font_file_api.h",
    "thunk/ppb_flash_fullscreen_api.h",
    "thunk/ppb_flash_functions_api.h",
    "thunk/ppb_flash_menu_api.h",
    "thunk/ppb_flash_message_loop_api.h",
    "thunk/ppb_flash_print_thunk.cc",
    "thunk/ppb_fullscreen_thunk.cc",
    "thunk/ppb_gamepad_api.h",
    "thunk/ppb_gamepad_thunk.cc",
    "thunk/ppb_graphics_2d_api.h",
    "thunk/ppb_graphics_2d_thunk.cc",
    "thunk/ppb_graphics_3d_api.h",
    "thunk/ppb_graphics_3d_thunk.cc",
    "thunk/ppb_host_resolver_api.h",
    "thunk/ppb_host_resolver_thunk.cc",
    "thunk/ppb_host_resolver_private_api.h",
    "thunk/ppb_host_resolver_private_thunk.cc",
    "thunk/ppb_image_data_api.h",
    "thunk/ppb_image_data_thunk.cc",
    "thunk/ppb_input_event_api.h",
    "thunk/ppb_input_event_thunk.cc",
    "thunk/ppb_input_event_private_thunk.cc",
    "thunk/ppb_instance_api.h",
    "thunk/ppb_instance_private_thunk.cc",
    "thunk/ppb_instance_thunk.cc",
    "thunk/ppb_isolated_file_system_private_api.h",
    "thunk/ppb_isolated_file_system_private_thunk.cc",
    "thunk/ppb_media_stream_audio_track_api.h",
    "thunk/ppb_media_stream_audio_track_thunk.cc",
    "thunk/ppb_media_stream_video_track_api.h",
    "thunk/ppb_media_stream_video_track_thunk.cc",
    "thunk/ppb_message_loop_api.h",
    "thunk/ppb_messaging_thunk.cc",
    "thunk/ppb_mouse_cursor_thunk.cc",
    "thunk/ppb_mouse_lock_thunk.cc",
    "thunk/ppb_net_address_api.h",
    "thunk/ppb_net_address_thunk.cc",
    "thunk/ppb_network_list_api.h",
    "thunk/ppb_network_list_thunk.cc",
    "thunk/ppb_network_monitor_api.h",
    "thunk/ppb_network_monitor_thunk.cc",
    "thunk/ppb_network_proxy_api.h",
    "thunk/ppb_network_proxy_thunk.cc",
    "thunk/ppb_output_protection_api.h",
    "thunk/ppb_output_protection_private_thunk.cc",
    "thunk/ppb_pdf_api.h",
    "thunk/ppb_platform_verification_api.h",
    "thunk/ppb_printing_api.h",
    "thunk/ppb_printing_dev_thunk.cc",
    "thunk/ppb_scrollbar_api.h",
    "thunk/ppb_talk_private_api.h",
    "thunk/ppb_tcp_server_socket_private_api.h",
    "thunk/ppb_tcp_server_socket_private_thunk.cc",
    "thunk/ppb_tcp_socket_api.h",
    "thunk/ppb_tcp_socket_private_api.h",
    "thunk/ppb_tcp_socket_private_thunk.cc",
    "thunk/ppb_tcp_socket_thunk.cc",
    "thunk/ppb_text_input_thunk.cc",
    "thunk/ppb_truetype_font_api.h",
    "thunk/ppb_truetype_font_singleton_api.h",
    "thunk/ppb_truetype_font_dev_thunk.cc",
    "thunk/ppb_udp_socket_api.h",
    "thunk/ppb_udp_socket_thunk.cc",
    "thunk/ppb_udp_socket_private_api.h",
    "thunk/ppb_udp_socket_private_thunk.cc",
    "thunk/ppb_uma_private_thunk.cc",
    "thunk/ppb_uma_singleton_api.h",
    "thunk/ppb_url_loader_api.h",
    "thunk/ppb_url_loader_thunk.cc",
    "thunk/ppb_url_loader_trusted_thunk.cc",
    "thunk/ppb_url_request_info_api.h",
    "thunk/ppb_url_request_info_thunk.cc",
    "thunk/ppb_url_response_info_api.h",
    "thunk/ppb_url_response_info_thunk.cc",
    "thunk/ppb_var_array_thunk.cc",
    "thunk/ppb_var_dictionary_thunk.cc",
    "thunk/ppb_video_capture_api.h",
    "thunk/ppb_video_capture_thunk.cc",
    "thunk/ppb_video_decoder_api.h",
    "thunk/ppb_video_decoder_dev_api.h",
    "thunk/ppb_video_decoder_thunk.cc",
    "thunk/ppb_video_destination_private_api.h",
    "thunk/ppb_video_destination_private_thunk.cc",
    "thunk/ppb_video_frame_api.h",
    "thunk/ppb_video_frame_thunk.cc",
    "thunk/ppb_video_source_private_api.h",
    "thunk/ppb_video_source_private_thunk.cc",
    "thunk/ppb_view_api.h",
    "thunk/ppb_view_dev_thunk.cc",
    "thunk/ppb_view_thunk.cc",
    "thunk/ppb_websocket_api.h",
    "thunk/ppb_websocket_thunk.cc",
    "thunk/ppb_widget_api.h",
    "thunk/ppb_widget_dev_thunk.cc",
    "thunk/ppb_x509_certificate_private_api.h",
    "thunk/ppb_x509_certificate_private_thunk.cc",
    "thunk/ppb_zoom_dev_thunk.cc",
    "thunk/thunk.h",
  ]

  if (!is_nacl) {
    sources += [
      "shared_impl/flash_clipboard_format_registry.cc",
      "shared_impl/flash_clipboard_format_registry.h",
      "shared_impl/ppb_url_util_shared.cc",
      "shared_impl/ppb_url_util_shared.h",
      "shared_impl/ppb_video_decoder_shared.cc",
      "shared_impl/ppb_video_decoder_shared.h",
      "shared_impl/private/ppb_char_set_shared.cc",
      "shared_impl/private/ppb_char_set_shared.h",
      "thunk/ppb_audio_input_dev_thunk.cc",
      "thunk/ppb_broker_thunk.cc",
      "thunk/ppb_browser_font_trusted_thunk.cc",
      "thunk/ppb_buffer_thunk.cc",
      "thunk/ppb_content_decryptor_private_thunk.cc",
      "thunk/ppb_char_set_thunk.cc",
      "thunk/ppb_flash_clipboard_thunk.cc",
      "thunk/ppb_flash_device_id_thunk.cc",
      "thunk/ppb_flash_drm_thunk.cc",
      "thunk/ppb_flash_file_fileref_thunk.cc",
      "thunk/ppb_flash_file_modulelocal_thunk.cc",
      "thunk/ppb_flash_font_file_thunk.cc",
      "thunk/ppb_flash_fullscreen_thunk.cc",
      "thunk/ppb_flash_menu_thunk.cc",
      "thunk/ppb_flash_thunk.cc",
      "thunk/ppb_flash_message_loop_thunk.cc",
      "thunk/ppb_gles_chromium_texture_mapping_thunk.cc",
      "thunk/ppb_pdf_thunk.cc",
      "thunk/ppb_platform_verification_private_thunk.cc",
      "thunk/ppb_scrollbar_thunk.cc",
      "thunk/ppb_talk_private_thunk.cc",
      "thunk/ppb_url_util_thunk.cc",
      "thunk/ppb_video_decoder_dev_thunk.cc",
    ]
  }

  # We exclude a few more things for nacl_win64, to avoid pulling in more
  # dependencies.
  if (is_win && cpu_arch == "x64" && current_toolchain != default_toolchain) {
    sources -= [
      "shared_impl/ppb_audio_shared.cc",
      "shared_impl/ppb_graphics_3d_shared.cc",
      "shared_impl/ppb_opengles2_shared.cc",
      "shared_impl/private/ppb_host_resolver_shared.cc",
      "shared_impl/private/net_address_private_impl.cc",
      "thunk/ppb_graphics_3d_thunk.cc",
      "thunk/ppb_host_resolver_private_thunk.cc",
      "thunk/ppb_tcp_server_socket_private_thunk.cc",
      "thunk/ppb_tcp_socket_private_thunk.cc",
      "thunk/ppb_udp_socket_private_thunk.cc",
      "thunk/ppb_x509_certificate_private_thunk.cc",
    ]
  }

  defines = [
    "PPAPI_SHARED_IMPLEMENTATION",
    "PPAPI_THUNK_IMPLEMENTATION",
  ]

  deps = [
    ":ppapi_c",
    "//base",
    "//base:i18n",
    "//base/third_party/dynamic_annotations",
    "//gpu/command_buffer/client",
    "//gpu/command_buffer/client:gles2_implementation",
    "//gpu/command_buffer/common",
    "//ipc",
    "//media:shared_memory_support",
    "//skia",
    "//third_party/icu:icuuc",
    "//ui/surface",
    "//url",
  ]

  if (is_mac) {
    libs = [ "QuartzCore.framework" ]
  } else if (is_win) {
    cflags = [ "/wd4267" ]  # size_t to int truncation.
  }

  deps += [ blink_target ]
  forward_dependent_configs_from = [ blink_target ]
}

source_set("ppapi_ipc") {
  sources = [
    "proxy/nacl_message_scanner.cc",
    "proxy/nacl_message_scanner.h",
    "proxy/ppapi_messages.cc",
    "proxy/ppapi_messages.h",
    "proxy/ppapi_param_traits.cc",
    "proxy/ppapi_param_traits.h",
    "proxy/raw_var_data.cc",
    "proxy/raw_var_data.h",
    "proxy/resource_message_params.cc",
    "proxy/resource_message_params.h",
    "proxy/serialized_flash_menu.cc",
    "proxy/serialized_flash_menu.h",
    "proxy/serialized_handle.cc",
    "proxy/serialized_handle.h",
    "proxy/serialized_structs.cc",
    "proxy/serialized_structs.h",
    "proxy/serialized_var.cc",
    "proxy/serialized_var.h",
    "proxy/var_serialization_rules.h",
  ]

  deps = [
    ":ppapi_c",
    ":ppapi_shared",
    "//base",
    "//gpu/ipc",
    "//ipc",
    "//skia",
    "//ui/events/ipc",
  ]

  if (is_nacl) {
    sources -= [ "proxy/serialized_flash_menu.cc" ]
  }
}

component("ppapi_proxy") {
  sources = [
    # Take some standalone files from the C++ wrapper allowing us to more
    # easily make async callbacks in the proxy. We can"t depend on the
    # full C++ wrappers at this layer since the C++ wrappers expect
    # symbols defining the globals for "being a plugin" which we are not.
    # These callback files are standalone.
    "cpp/completion_callback.h",
    "utility/completion_callback_factory.h",

    "proxy/audio_buffer_resource.cc",
    "proxy/audio_buffer_resource.h",
    "proxy/broker_resource.cc",
    "proxy/broker_resource.h",
    "proxy/compositor_layer_resource.cc",
    "proxy/compositor_layer_resource.h",
    "proxy/compositor_resource.cc",
    "proxy/compositor_resource.h",
    "proxy/connection.h",
    "proxy/dispatcher.cc",
    "proxy/dispatcher.h",
    "proxy/enter_proxy.h",
    "proxy/error_conversion.cc",
    "proxy/error_conversion.h",
    "proxy/file_chooser_resource.cc",
    "proxy/file_chooser_resource.h",
    "proxy/file_io_resource.cc",
    "proxy/file_io_resource.h",
    "proxy/file_mapping_resource.cc",
    "proxy/file_mapping_resource.h",
    "proxy/file_mapping_resource_posix.cc",
    "proxy/file_mapping_resource_win.cc",
    "proxy/file_ref_resource.cc",
    "proxy/file_ref_resource.h",
    "proxy/file_system_resource.cc",
    "proxy/file_system_resource.h",
    "proxy/gamepad_resource.cc",
    "proxy/gamepad_resource.h",
    "proxy/graphics_2d_resource.cc",
    "proxy/graphics_2d_resource.h",
    "proxy/host_resolver_private_resource.cc",
    "proxy/host_resolver_private_resource.h",
    "proxy/host_resolver_resource.cc",
    "proxy/host_resolver_resource.h",
    "proxy/host_resolver_resource_base.cc",
    "proxy/host_resolver_resource_base.h",
    "proxy/interface_list.cc",
    "proxy/interface_list.h",
    "proxy/interface_proxy.cc",
    "proxy/interface_proxy.h",
    "proxy/isolated_file_system_private_resource.cc",
    "proxy/isolated_file_system_private_resource.h",
    "proxy/locking_resource_releaser.h",
    "proxy/media_stream_audio_track_resource.cc",
    "proxy/media_stream_audio_track_resource.h",
    "proxy/media_stream_track_resource_base.cc",
    "proxy/media_stream_track_resource_base.h",
    "proxy/media_stream_video_track_resource.cc",
    "proxy/media_stream_video_track_resource.h",
    "proxy/message_handler.cc",
    "proxy/message_handler.h",
    "proxy/net_address_resource.cc",
    "proxy/net_address_resource.h",
    "proxy/network_list_resource.cc",
    "proxy/network_list_resource.h",
    "proxy/network_monitor_resource.cc",
    "proxy/network_monitor_resource.h",
    "proxy/network_proxy_resource.cc",
    "proxy/network_proxy_resource.h",
    "proxy/output_protection_resource.cc",
    "proxy/output_protection_resource.h",
    "proxy/plugin_array_buffer_var.cc",
    "proxy/plugin_array_buffer_var.h",
    "proxy/plugin_dispatcher.cc",
    "proxy/plugin_dispatcher.h",
    "proxy/plugin_globals.cc",
    "proxy/plugin_globals.h",
    "proxy/plugin_message_filter.cc",
    "proxy/plugin_message_filter.h",
    "proxy/plugin_resource.cc",
    "proxy/plugin_resource.h",
    "proxy/plugin_resource_tracker.cc",
    "proxy/plugin_resource_tracker.h",
    "proxy/plugin_resource_var.cc",
    "proxy/plugin_resource_var.h",
    "proxy/plugin_var_serialization_rules.cc",
    "proxy/plugin_var_serialization_rules.h",
    "proxy/plugin_var_tracker.cc",
    "proxy/plugin_var_tracker.h",
    "proxy/ppapi_command_buffer_proxy.cc",
    "proxy/ppapi_command_buffer_proxy.h",
    "proxy/ppapi_messages.h",
    "proxy/ppapi_message_utils.h",
    "proxy/ppb_audio_proxy.cc",
    "proxy/ppb_audio_proxy.h",
    "proxy/ppb_core_proxy.cc",
    "proxy/ppb_core_proxy.h",
    "proxy/ppb_graphics_3d_proxy.cc",
    "proxy/ppb_graphics_3d_proxy.h",
    "proxy/ppb_image_data_proxy.cc",
    "proxy/ppb_image_data_proxy.h",
    "proxy/ppb_instance_proxy.cc",
    "proxy/ppb_instance_proxy.h",
    "proxy/ppb_message_loop_proxy.cc",
    "proxy/ppb_message_loop_proxy.h",
    "proxy/ppb_testing_proxy.cc",
    "proxy/ppb_testing_proxy.h",
    "proxy/ppb_var_deprecated_proxy.cc",
    "proxy/ppb_var_deprecated_proxy.h",
    "proxy/ppb_x509_certificate_private_proxy.cc",
    "proxy/ppb_x509_certificate_private_proxy.h",
    "proxy/ppp_class_proxy.cc",
    "proxy/ppp_class_proxy.h",
    "proxy/ppp_find_proxy.cc",
    "proxy/ppp_find_proxy.h",
    "proxy/ppp_graphics_3d_proxy.cc",
    "proxy/ppp_graphics_3d_proxy.h",
    "proxy/ppp_input_event_proxy.cc",
    "proxy/ppp_input_event_proxy.h",
    "proxy/ppp_instance_proxy.cc",
    "proxy/ppp_instance_proxy.h",
    "proxy/ppp_messaging_proxy.cc",
    "proxy/ppp_messaging_proxy.h",
    "proxy/ppp_mouse_lock_proxy.cc",
    "proxy/ppp_mouse_lock_proxy.h",
    "proxy/ppp_pdf_proxy.cc",
    "proxy/ppp_pdf_proxy.h",
    "proxy/ppp_printing_proxy.cc",
    "proxy/ppp_printing_proxy.h",
    "proxy/ppp_text_input_proxy.cc",
    "proxy/ppp_text_input_proxy.h",
    "proxy/printing_resource.cc",
    "proxy/printing_resource.h",
    "proxy/proxy_array_output.cc",
    "proxy/proxy_array_output.h",
    "proxy/proxy_channel.cc",
    "proxy/proxy_channel.h",
    "proxy/proxy_completion_callback_factory.h",
    "proxy/proxy_module.cc",
    "proxy/proxy_module.h",
    "proxy/proxy_object_var.cc",
    "proxy/proxy_object_var.h",
    "proxy/resource_creation_proxy.cc",
    "proxy/resource_creation_proxy.h",
    "proxy/resource_reply_thread_registrar.cc",
    "proxy/resource_reply_thread_registrar.h",
    "proxy/tcp_server_socket_private_resource.cc",
    "proxy/tcp_server_socket_private_resource.h",
    "proxy/tcp_socket_private_resource.cc",
    "proxy/tcp_socket_private_resource.h",
    "proxy/tcp_socket_resource.cc",
    "proxy/tcp_socket_resource.h",
    "proxy/tcp_socket_resource_base.cc",
    "proxy/tcp_socket_resource_base.h",
    "proxy/truetype_font_resource.cc",
    "proxy/truetype_font_resource.h",
    "proxy/truetype_font_singleton_resource.cc",
    "proxy/truetype_font_singleton_resource.h",
    "proxy/udp_socket_private_resource.cc",
    "proxy/udp_socket_private_resource.h",
    "proxy/udp_socket_resource.cc",
    "proxy/udp_socket_resource.h",
    "proxy/udp_socket_resource_base.cc",
    "proxy/udp_socket_resource_base.h",
    "proxy/uma_private_resource.cc",
    "proxy/uma_private_resource.h",
    "proxy/url_loader_resource.cc",
    "proxy/url_loader_resource.h",
    "proxy/url_request_info_resource.cc",
    "proxy/url_request_info_resource.h",
    "proxy/url_response_info_resource.cc",
    "proxy/url_response_info_resource.h",
    "proxy/var_serialization_rules.h",
    "proxy/video_destination_resource.cc",
    "proxy/video_destination_resource.h",
    "proxy/video_frame_resource.cc",
    "proxy/video_frame_resource.h",
    "proxy/video_source_resource.cc",
    "proxy/video_source_resource.h",
    "proxy/websocket_resource.cc",
    "proxy/websocket_resource.h",
  ]

  if (is_nacl) {
    sources += [
      "nacl_irt/irt_ppapi.cc",
      "nacl_irt/irt_ppapi.h",
      "nacl_irt/irt_start.cc",
      "nacl_irt/manifest_service.cc",
      "nacl_irt/manifest_service.h",
      "nacl_irt/plugin_main.cc",
      "nacl_irt/plugin_main.h",
      "nacl_irt/plugin_startup.cc",
      "nacl_irt/plugin_startup.h",
      "nacl_irt/ppapi_dispatcher.cc",
      "nacl_irt/ppapi_dispatcher.h",
    ]
  } else {
    sources += [
      "proxy/audio_input_resource.cc",
      "proxy/audio_input_resource.h",
      "proxy/broker_dispatcher.cc",
      "proxy/broker_dispatcher.h",
      "proxy/browser_font_singleton_resource.cc",
      "proxy/browser_font_singleton_resource.h",
      "proxy/device_enumeration_resource_helper.cc",
      "proxy/device_enumeration_resource_helper.h",
      "proxy/flash_clipboard_resource.cc",
      "proxy/flash_clipboard_resource.h",
      "proxy/flash_drm_resource.cc",
      "proxy/flash_drm_resource.h",
      "proxy/flash_file_resource.cc",
      "proxy/flash_file_resource.h",
      "proxy/flash_font_file_resource.cc",
      "proxy/flash_font_file_resource.h",
      "proxy/flash_fullscreen_resource.cc",
      "proxy/flash_fullscreen_resource.h",
      "proxy/flash_menu_resource.cc",
      "proxy/flash_menu_resource.h",
      "proxy/flash_resource.cc",
      "proxy/flash_resource.h",
      "proxy/host_dispatcher.cc",
      "proxy/host_dispatcher.h",
      "proxy/host_var_serialization_rules.cc",
      "proxy/host_var_serialization_rules.h",
      "proxy/pdf_resource.cc",
      "proxy/pdf_resource.h",
      "proxy/platform_verification_private_resource.cc",
      "proxy/platform_verification_private_resource.h",
      "proxy/ppb_broker_proxy.cc",
      "proxy/ppb_broker_proxy.h",
      "proxy/ppb_buffer_proxy.cc",
      "proxy/ppb_buffer_proxy.h",
      "proxy/ppb_flash_message_loop_proxy.cc",
      "proxy/ppb_flash_message_loop_proxy.h",
      "proxy/ppb_video_decoder_proxy.cc",
      "proxy/ppb_video_decoder_proxy.h",
      "proxy/ppp_content_decryptor_private_proxy.cc",
      "proxy/ppp_content_decryptor_private_proxy.h",
      "proxy/ppp_instance_private_proxy.cc",
      "proxy/ppp_instance_private_proxy.h",
      "proxy/ppp_video_decoder_proxy.cc",
      "proxy/ppp_video_decoder_proxy.h",
      "proxy/video_decoder_resource.cc",
      "proxy/video_decoder_resource.h",
      "proxy/talk_resource.cc",
      "proxy/talk_resource.h",
      "proxy/video_capture_resource.cc",
      "proxy/video_capture_resource.h",
    ]
  }

  defines = [ "PPAPI_PROXY_IMPLEMENTATION" ]

  deps = [
    ":ppapi_c",
    ":ppapi_shared",
    ":ppapi_ipc",
    "//base",
    "//base/third_party/dynamic_annotations",
    "//gpu/command_buffer/client:gles2_implementation",
    "//gpu/ipc",
    "//media:shared_memory_support",
    "//ipc",
    "//skia",
    "//third_party/icu",
    "//ui/surface",
    blink_target,
  ]

  if (is_win) {
    cflags = [ "/wd4267" ]  # size_t to int truncation.
  }
}

component("ppapi_host") {
  sources = [
    "host/dispatch_host_message.h",
    "host/error_conversion.cc",
    "host/error_conversion.h",
    "host/host_factory.h",
    "host/host_message_context.cc",
    "host/host_message_context.h",
    "host/instance_message_filter.cc",
    "host/instance_message_filter.h",
    "host/message_filter_host.cc",
    "host/message_filter_host.h",
    "host/ppapi_host.cc",
    "host/ppapi_host.h",
    "host/ppapi_host_export.h",
    "host/resource_host.cc",
    "host/resource_host.h",
    "host/resource_message_filter.cc",
    "host/resource_message_filter.h",
    "host/resource_message_handler.cc",
    "host/resource_message_handler.h",
  ]

  defines = [ "PPAPI_HOST_IMPLEMENTATION" ]

  deps = [
    ":ppapi_c",
    ":ppapi_ipc",
    ":ppapi_proxy",
    ":ppapi_shared",
    "//base",
    "//ipc",
    "//media:shared_memory_support",
    "//ui/surface",
    "//url",
  ]
}

static_library("ppapi_unittest_shared") {
  sources = [
    "proxy/ppapi_proxy_test.cc",
    "proxy/ppapi_proxy_test.h",
    "proxy/resource_message_test_sink.cc",
    "proxy/resource_message_test_sink.h",
    "shared_impl/test_globals.cc",
    "shared_impl/test_globals.h",
    "shared_impl/unittest_utils.cc",
    "shared_impl/unittest_utils.h",
  ]

  deps = [
    ":ppapi_proxy",
    ":ppapi_shared",
    "//base/test:test_support",
    "//ipc",
    "//ipc:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

# TODO(GYP) other targets from ppapi_tests.gyp
