# Copyright 2015 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. source_set("thunk") { # In GYP this is the same target as shared_impl. In GN these are split apart # for clarity but to get component builds correct, targets must only depend # on these via the shared_impl component. # TODO(brettw) separate these when GYP compat is no longer required. visibility = [ "//ppapi/shared_impl" ] sources = [ "enter.cc", "enter.h", "interfaces_legacy.h", "interfaces_postamble.h", "interfaces_ppb_private.h", "interfaces_ppb_private_flash.h", "interfaces_ppb_private_no_permissions.h", "interfaces_ppb_public_dev.h", "interfaces_ppb_public_dev_channel.h", "interfaces_ppb_public_stable.h", "interfaces_preamble.h", "ppapi_thunk_export.h", "ppb_audio_api.h", "ppb_audio_buffer_api.h", "ppb_audio_buffer_thunk.cc", "ppb_audio_config_api.h", "ppb_audio_config_thunk.cc", "ppb_audio_encoder_api.h", "ppb_audio_encoder_thunk.cc", "ppb_audio_input_api.h", "ppb_audio_output_api.h", "ppb_audio_thunk.cc", "ppb_broker_api.h", "ppb_browser_font_singleton_api.h", "ppb_browser_font_trusted_api.h", "ppb_buffer_api.h", "ppb_camera_capabilities_api.h", "ppb_camera_capabilities_private_thunk.cc", "ppb_camera_device_api.h", "ppb_camera_device_private_thunk.cc", "ppb_compositor_api.h", "ppb_compositor_layer_api.h", "ppb_compositor_layer_thunk.cc", "ppb_compositor_thunk.cc", "ppb_console_thunk.cc", "ppb_cursor_control_thunk.cc", "ppb_device_ref_api.h", "ppb_device_ref_dev_thunk.cc", "ppb_ext_crx_file_system_private_thunk.cc", "ppb_file_chooser_api.h", "ppb_file_chooser_dev_thunk.cc", "ppb_file_chooser_trusted_thunk.cc", "ppb_file_io_api.h", "ppb_file_io_private_thunk.cc", "ppb_file_io_thunk.cc", "ppb_file_ref_api.h", "ppb_file_ref_thunk.cc", "ppb_file_system_api.h", "ppb_file_system_thunk.cc", "ppb_find_private_thunk.cc", "ppb_flash_clipboard_api.h", "ppb_flash_drm_api.h", "ppb_flash_file_api.h", "ppb_flash_font_file_api.h", "ppb_flash_fullscreen_api.h", "ppb_flash_functions_api.h", "ppb_flash_menu_api.h", "ppb_flash_message_loop_api.h", "ppb_flash_print_thunk.cc", "ppb_fullscreen_thunk.cc", "ppb_gamepad_api.h", "ppb_gamepad_thunk.cc", "ppb_graphics_2d_api.h", "ppb_graphics_2d_thunk.cc", "ppb_graphics_3d_api.h", "ppb_graphics_3d_thunk.cc", "ppb_host_resolver_api.h", "ppb_host_resolver_private_api.h", "ppb_host_resolver_private_thunk.cc", "ppb_host_resolver_thunk.cc", "ppb_image_data_api.h", "ppb_image_data_thunk.cc", "ppb_input_event_api.h", "ppb_input_event_thunk.cc", "ppb_instance_api.h", "ppb_instance_private_thunk.cc", "ppb_instance_thunk.cc", "ppb_isolated_file_system_private_api.h", "ppb_isolated_file_system_private_thunk.cc", "ppb_media_stream_audio_track_api.h", "ppb_media_stream_audio_track_thunk.cc", "ppb_media_stream_video_track_api.h", "ppb_media_stream_video_track_thunk.cc", "ppb_message_loop_api.h", "ppb_messaging_thunk.cc", "ppb_mouse_cursor_thunk.cc", "ppb_mouse_lock_thunk.cc", "ppb_net_address_api.h", "ppb_net_address_thunk.cc", "ppb_network_list_api.h", "ppb_network_list_thunk.cc", "ppb_network_monitor_api.h", "ppb_network_monitor_thunk.cc", "ppb_network_proxy_api.h", "ppb_network_proxy_thunk.cc", "ppb_output_protection_api.h", "ppb_output_protection_private_thunk.cc", "ppb_pdf_api.h", "ppb_platform_verification_api.h", "ppb_printing_api.h", "ppb_printing_dev_thunk.cc", "ppb_tcp_server_socket_private_api.h", "ppb_tcp_server_socket_private_thunk.cc", "ppb_tcp_socket_api.h", "ppb_tcp_socket_private_api.h", "ppb_tcp_socket_private_thunk.cc", "ppb_tcp_socket_thunk.cc", "ppb_text_input_thunk.cc", "ppb_truetype_font_api.h", "ppb_truetype_font_dev_thunk.cc", "ppb_truetype_font_singleton_api.h", "ppb_udp_socket_api.h", "ppb_udp_socket_private_api.h", "ppb_udp_socket_private_thunk.cc", "ppb_udp_socket_thunk.cc", "ppb_uma_private_thunk.cc", "ppb_uma_singleton_api.h", "ppb_url_loader_api.h", "ppb_url_loader_thunk.cc", "ppb_url_loader_trusted_thunk.cc", "ppb_url_request_info_api.h", "ppb_url_request_info_thunk.cc", "ppb_url_response_info_api.h", "ppb_url_response_info_thunk.cc", "ppb_var_array_thunk.cc", "ppb_var_dictionary_thunk.cc", "ppb_video_capture_api.h", "ppb_video_decoder_api.h", "ppb_video_decoder_dev_api.h", "ppb_video_decoder_thunk.cc", "ppb_video_destination_private_api.h", "ppb_video_destination_private_thunk.cc", "ppb_video_encoder_api.h", "ppb_video_encoder_thunk.cc", "ppb_video_frame_api.h", "ppb_video_frame_thunk.cc", "ppb_video_source_private_api.h", "ppb_video_source_private_thunk.cc", "ppb_view_api.h", "ppb_view_dev_thunk.cc", "ppb_view_thunk.cc", "ppb_vpn_provider_api.h", "ppb_vpn_provider_thunk.cc", "ppb_websocket_api.h", "ppb_websocket_thunk.cc", "ppb_x509_certificate_private_api.h", "ppb_x509_certificate_private_thunk.cc", "resource_creation_api.h", "thunk.h", ] if (!is_nacl) { sources += [ "ppb_audio_input_dev_thunk.cc", "ppb_audio_output_dev_thunk.cc", "ppb_broker_thunk.cc", "ppb_browser_font_trusted_thunk.cc", "ppb_buffer_thunk.cc", "ppb_char_set_thunk.cc", "ppb_content_decryptor_private_thunk.cc", "ppb_flash_clipboard_thunk.cc", "ppb_flash_device_id_thunk.cc", "ppb_flash_drm_thunk.cc", "ppb_flash_file_fileref_thunk.cc", "ppb_flash_file_modulelocal_thunk.cc", "ppb_flash_font_file_thunk.cc", "ppb_flash_fullscreen_thunk.cc", "ppb_flash_menu_thunk.cc", "ppb_flash_message_loop_thunk.cc", "ppb_flash_thunk.cc", "ppb_gles_chromium_texture_mapping_thunk.cc", "ppb_pdf_thunk.cc", "ppb_platform_verification_private_thunk.cc", "ppb_url_util_thunk.cc", "ppb_video_capture_thunk.cc", "ppb_video_decoder_dev_thunk.cc", ] } # This condition is catching the build of nacl64.exe, which is built in # the 64-bit toolchain when the overall build is 32-bit. We exclude a # few more things, to avoid pulling in more dependencies. # See also //ppapi/shared_impl if (is_win && target_cpu == "x86" && current_cpu == "x64") { sources -= [ "ppb_graphics_3d_thunk.cc", "ppb_host_resolver_private_thunk.cc", "ppb_tcp_server_socket_private_thunk.cc", "ppb_tcp_socket_private_thunk.cc", "ppb_udp_socket_private_thunk.cc", "ppb_x509_certificate_private_thunk.cc", ] } configs += [ "//build/config:precompiled_headers" ] defines = [ # This target goes in the same library as shared_impl (in GYP they are the # same). "PPAPI_SHARED_IMPLEMENTATION", "PPAPI_THUNK_IMPLEMENTATION", ] public_deps = [ "//base", ] }