Index: ppapi/cpp/BUILD.gn |
diff --git a/ppapi/cpp/BUILD.gn b/ppapi/cpp/BUILD.gn |
index 06ec9d1f2382f6ef47322d5e181ab3b9910962f2..586ca715e060aa965a251d215411628859776520 100644 |
--- a/ppapi/cpp/BUILD.gn |
+++ b/ppapi/cpp/BUILD.gn |
@@ -2,11 +2,21 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
-import("//ppapi/ppapi_sources.gni") |
+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. |
-source_set("cpp") { |
+target(cpp_target_type, "cpp") { |
+ output_name = "ppapi_cpp_lib" |
+ |
sources = [ |
"module_embedder.h", |
"ppp_entrypoints.cc", |
@@ -16,12 +26,282 @@ source_set("cpp") { |
":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 |
+ } |
+ } |
} |
# 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 = rebase_path(ppapi_sources.cpp_source_files, ".", "..") |
+ 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/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/content_decryptor_private.cc", |
+ "private/content_decryptor_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/output_protection_private.cc", |
+ "private/output_protection_private.h", |
+ "private/pass_file_handle.cc", |
+ "private/pass_file_handle.h", |
+ "private/pdf.cc", |
+ "private/pdf.h", |
+ "private/platform_verification.cc", |
+ "private/platform_verification.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" ] |
+ } |
+ } |
} |