# 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. if (is_nacl) { import("//build/config/nacl/config.gni") } if (is_nacl && is_nacl_glibc) { cpp_target_type = "shared_library" } else { cpp_target_type = "static_library" } # Link to this target to get the PPAPI C++ wrapper objects and plugin startup # code. See also "objects" below. target(cpp_target_type, "cpp") { output_name = "ppapi_cpp_lib" sources = [ "module_embedder.h", "ppp_entrypoints.cc", ] public_deps = [ ":objects", "//ppapi/c", ] if (is_nacl) { public_deps += [ "//build/config/nacl:nacl_base" ] if (is_nacl_glibc) { # When using gcc, we hide all symbols by default, but that breaks at # link time as the test executable requires symbols defined in the # shared library. configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] configs += [ "//build/config/gcc:symbol_visibility_default" ] cflags = [ "-fPIC" ] } else { # This library is distributed as a part of the SDK and as such has to # be a static library rather than a source set. complete_static_lib = true configs -= [ "//build/config/compiler:thin_archive" ] } } } # Link to this target to get only the PPAPI C++ wrapper objects but not the # plugin startup code. Some plugins need special startup code that they supply # themselves. source_set("objects") { sources = [ "array_output.cc", "array_output.h", "audio.cc", "audio.h", "audio_buffer.cc", "audio_buffer.h", "audio_config.cc", "audio_config.h", "audio_encoder.cc", "audio_encoder.h", "completion_callback.h", "compositor.cc", "compositor.h", "compositor_layer.cc", "compositor_layer.h", "core.cc", "core.h", "directory_entry.cc", "directory_entry.h", "file_io.cc", "file_io.h", "file_ref.cc", "file_ref.h", "file_system.cc", "file_system.h", "fullscreen.cc", "fullscreen.h", "graphics_2d.cc", "graphics_2d.h", "graphics_3d.cc", "graphics_3d.h", "graphics_3d_client.cc", "graphics_3d_client.h", "host_resolver.cc", "host_resolver.h", "image_data.cc", "image_data.h", "input_event.cc", "input_event.h", "instance.cc", "instance.h", "instance_handle.cc", "instance_handle.h", "logging.h", "media_stream_audio_track.cc", "media_stream_audio_track.h", "media_stream_video_track.cc", "media_stream_video_track.h", "message_handler.h", "message_loop.cc", "message_loop.h", "module.cc", "module.h", "module_impl.h", "mouse_cursor.cc", "mouse_cursor.h", "mouse_lock.cc", "mouse_lock.h", "net_address.cc", "net_address.h", "network_list.cc", "network_list.h", "network_monitor.cc", "network_monitor.h", "network_proxy.cc", "network_proxy.h", "output_traits.h", "point.h", "rect.cc", "rect.h", "resource.cc", "resource.h", "size.h", "tcp_socket.cc", "tcp_socket.h", "text_input_controller.cc", "text_input_controller.h", "touch_point.h", "udp_socket.cc", "udp_socket.h", "url_loader.cc", "url_loader.h", "url_request_info.cc", "url_request_info.h", "url_response_info.cc", "url_response_info.h", "var.cc", "var.h", "var_array.cc", "var_array.h", "var_array_buffer.cc", "var_array_buffer.h", "var_dictionary.cc", "var_dictionary.h", "video_decoder.cc", "video_decoder.h", "video_encoder.cc", "video_encoder.h", "video_frame.cc", "video_frame.h", "view.cc", "view.h", "vpn_provider.cc", "vpn_provider.h", "websocket.cc", "websocket.h", # Dev interfaces. "dev/audio_input_dev.cc", "dev/audio_input_dev.h", "dev/audio_output_dev.cc", "dev/audio_output_dev.h", "dev/buffer_dev.cc", "dev/buffer_dev.h", "dev/crypto_dev.cc", "dev/crypto_dev.h", "dev/cursor_control_dev.cc", "dev/cursor_control_dev.h", "dev/device_ref_dev.cc", "dev/device_ref_dev.h", "dev/file_chooser_dev.cc", "dev/file_chooser_dev.h", "dev/ime_input_event_dev.cc", "dev/ime_input_event_dev.h", "dev/memory_dev.cc", "dev/memory_dev.h", "dev/printing_dev.cc", "dev/printing_dev.h", "dev/text_input_dev.cc", "dev/text_input_dev.h", "dev/truetype_font_dev.cc", "dev/truetype_font_dev.h", "dev/url_util_dev.cc", "dev/url_util_dev.h", "dev/video_capture_client_dev.cc", "dev/video_capture_client_dev.h", "dev/video_capture_dev.cc", "dev/video_capture_dev.h", "dev/video_decoder_client_dev.cc", "dev/video_decoder_client_dev.h", "dev/video_decoder_dev.cc", "dev/video_decoder_dev.h", "dev/view_dev.cc", "dev/view_dev.h", # Deprecated interfaces. "dev/scriptable_object_deprecated.cc", "dev/scriptable_object_deprecated.h", # Private interfaces. "private/camera_capabilities_private.cc", "private/camera_capabilities_private.h", "private/camera_device_private.cc", "private/camera_device_private.h", "private/ext_crx_file_system_private.cc", "private/ext_crx_file_system_private.h", "private/file_io_private.cc", "private/file_io_private.h", "private/find_private.cc", "private/find_private.h", "private/flash.cc", "private/flash.h", "private/flash_clipboard.cc", "private/flash_clipboard.h", "private/flash_device_id.cc", "private/flash_device_id.h", "private/flash_drm.cc", "private/flash_drm.h", "private/flash_file.cc", "private/flash_file.h", "private/flash_font_file.cc", "private/flash_font_file.h", "private/flash_fullscreen.cc", "private/flash_fullscreen.h", "private/flash_menu.cc", "private/flash_menu.h", "private/flash_message_loop.cc", "private/flash_message_loop.h", "private/host_resolver_private.cc", "private/host_resolver_private.h", "private/instance_private.cc", "private/instance_private.h", "private/isolated_file_system_private.cc", "private/isolated_file_system_private.h", "private/net_address_private.cc", "private/net_address_private.h", "private/pass_file_handle.cc", "private/pass_file_handle.h", "private/pdf.cc", "private/pdf.h", "private/tcp_server_socket_private.cc", "private/tcp_server_socket_private.h", "private/tcp_socket_private.cc", "private/tcp_socket_private.h", "private/udp_socket_private.cc", "private/udp_socket_private.h", "private/uma_private.cc", "private/uma_private.h", "private/var_private.cc", "private/var_private.h", "private/video_destination_private.cc", "private/video_destination_private.h", "private/video_frame_private.cc", "private/video_frame_private.h", "private/video_source_private.cc", "private/video_source_private.h", "private/x509_certificate_private.cc", "private/x509_certificate_private.h", # Trusted interfaces. "trusted/browser_font_trusted.cc", "trusted/browser_font_trusted.h", "trusted/file_chooser_trusted.cc", "trusted/file_chooser_trusted.h", # Utility sources. "../utility/completion_callback_factory.h", "../utility/completion_callback_factory_thread_traits.h", "../utility/graphics/paint_aggregator.cc", "../utility/graphics/paint_aggregator.h", "../utility/graphics/paint_manager.cc", "../utility/graphics/paint_manager.h", "../utility/threading/lock.cc", "../utility/threading/lock.h", "../utility/threading/simple_thread.cc", "../utility/threading/simple_thread.h", "../utility/websocket/websocket_api.cc", "../utility/websocket/websocket_api.h", ] configs += [ "//build/config:precompiled_headers" ] public_deps = [ "//ppapi/c", ] if (is_nacl) { public_deps += [ "//build/config/nacl:nacl_base" ] if (is_nacl_glibc) { # When using gcc, we hide all symbols by default, but that breaks at # link time as the test executable requires symbols defined in the # shared library. configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] configs += [ "//build/config/gcc:symbol_visibility_default" ] cflags = [ "-fPIC" ] } } }