naiveproxy/mojo/public/cpp/bindings/BUILD.gn
2018-01-29 00:30:36 +08:00

212 lines
6.6 KiB
Plaintext

# 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.
import("//build/buildflag_header.gni")
interfaces_bindings_gen_dir = "$root_gen_dir/mojo/public/interfaces/bindings"
declare_args() {
enable_mojo_tracing = false
}
buildflag_header("mojo_features") {
header = "mojo_features.h"
flags = [ "MOJO_TRACE_ENABLED=$enable_mojo_tracing" ]
}
component("bindings") {
sources = [
# Normally, targets should depend on the source_sets generated by mojom
# targets. However, the generated source_sets use portions of the bindings
# library. In order to avoid linker warnings about locally-defined imports
# in Windows components build, this target depends on the generated C++
# files directly so that the EXPORT macro defintions match.
"$interfaces_bindings_gen_dir/interface_control_messages.mojom-shared-internal.h",
"$interfaces_bindings_gen_dir/interface_control_messages.mojom-shared.cc",
"$interfaces_bindings_gen_dir/interface_control_messages.mojom-shared.h",
"$interfaces_bindings_gen_dir/interface_control_messages.mojom.cc",
"$interfaces_bindings_gen_dir/interface_control_messages.mojom.h",
"$interfaces_bindings_gen_dir/native_struct.mojom-shared-internal.h",
"$interfaces_bindings_gen_dir/native_struct.mojom-shared.cc",
"$interfaces_bindings_gen_dir/native_struct.mojom-shared.h",
"$interfaces_bindings_gen_dir/native_struct.mojom.cc",
"$interfaces_bindings_gen_dir/native_struct.mojom.h",
"$interfaces_bindings_gen_dir/pipe_control_messages.mojom-shared-internal.h",
"$interfaces_bindings_gen_dir/pipe_control_messages.mojom-shared.cc",
"$interfaces_bindings_gen_dir/pipe_control_messages.mojom-shared.h",
"$interfaces_bindings_gen_dir/pipe_control_messages.mojom.cc",
"$interfaces_bindings_gen_dir/pipe_control_messages.mojom.h",
"array_data_view.h",
"array_traits_span.h",
"array_traits_stl.h",
"associated_binding.h",
"associated_binding_set.h",
"associated_group.h",
"associated_group_controller.h",
"associated_interface_ptr.h",
"associated_interface_ptr_info.h",
"associated_interface_request.h",
"binding.h",
"binding_set.h",
"bindings_export.h",
"clone_traits.h",
"connection_error_callback.h",
"connector.h",
"disconnect_reason.h",
"equals_traits.h",
"filter_chain.h",
"interface_data_view.h",
"interface_endpoint_client.h",
"interface_endpoint_controller.h",
"interface_id.h",
"interface_ptr.h",
"interface_ptr_info.h",
"interface_ptr_set.h",
"interface_request.h",
"lib/array_internal.cc",
"lib/array_internal.h",
"lib/array_serialization.h",
"lib/associated_binding.cc",
"lib/associated_group.cc",
"lib/associated_group_controller.cc",
"lib/associated_interface_ptr.cc",
"lib/associated_interface_ptr_state.cc",
"lib/associated_interface_ptr_state.h",
"lib/binding_state.cc",
"lib/binding_state.h",
"lib/bindings_internal.h",
"lib/buffer.cc",
"lib/buffer.h",
"lib/connector.cc",
"lib/control_message_handler.cc",
"lib/control_message_handler.h",
"lib/control_message_proxy.cc",
"lib/control_message_proxy.h",
"lib/filter_chain.cc",
"lib/fixed_buffer.cc",
"lib/fixed_buffer.h",
"lib/handle_interface_serialization.h",
"lib/hash_util.h",
"lib/interface_endpoint_client.cc",
"lib/interface_ptr_state.cc",
"lib/interface_ptr_state.h",
"lib/map_data_internal.h",
"lib/map_serialization.h",
"lib/may_auto_lock.h",
"lib/message.cc",
"lib/message_header_validator.cc",
"lib/message_internal.cc",
"lib/message_internal.h",
"lib/multiplex_router.cc",
"lib/multiplex_router.h",
"lib/native_enum_data.h",
"lib/native_enum_serialization.h",
"lib/native_struct_serialization.cc",
"lib/native_struct_serialization.h",
"lib/pipe_control_message_handler.cc",
"lib/pipe_control_message_proxy.cc",
"lib/scoped_interface_endpoint_handle.cc",
"lib/serialization.h",
"lib/serialization_context.cc",
"lib/serialization_context.h",
"lib/serialization_forward.h",
"lib/serialization_util.h",
"lib/string_serialization.h",
"lib/string_traits_string16.cc",
"lib/sync_call_restrictions.cc",
"lib/sync_event_watcher.cc",
"lib/sync_handle_registry.cc",
"lib/sync_handle_watcher.cc",
"lib/task_runner_helper.cc",
"lib/task_runner_helper.h",
"lib/unserialized_message_context.cc",
"lib/unserialized_message_context.h",
"lib/validate_params.h",
"lib/validation_context.cc",
"lib/validation_context.h",
"lib/validation_errors.cc",
"lib/validation_errors.h",
"lib/validation_util.cc",
"lib/validation_util.h",
"map.h",
"map_data_view.h",
"map_traits_stl.h",
"message.h",
"message_header_validator.h",
"native_enum.h",
"pipe_control_message_handler.h",
"pipe_control_message_handler_delegate.h",
"pipe_control_message_proxy.h",
"raw_ptr_impl_ref_traits.h",
"scoped_interface_endpoint_handle.h",
"string_data_view.h",
"string_traits_stl.h",
"string_traits_string16.h",
"string_traits_string_piece.h",
"strong_associated_binding.h",
"strong_binding.h",
"strong_binding_set.h",
"struct_ptr.h",
"sync_call_restrictions.h",
"sync_event_watcher.h",
"sync_handle_registry.h",
"sync_handle_watcher.h",
"thread_safe_interface_ptr.h",
"type_converter.h",
"unique_ptr_impl_ref_traits.h",
]
public_deps = [
":mojo_features",
":struct_traits",
"//base",
"//ipc:message_support",
"//ipc:param_traits",
"//mojo/public/cpp/system",
]
deps = [
"//base",
"//ipc:native_handle_type_converters",
"//mojo/public/interfaces/bindings:bindings__generator",
"//mojo/public/interfaces/bindings:bindings_shared__generator",
]
defines = [ "MOJO_CPP_BINDINGS_IMPLEMENTATION" ]
}
source_set("struct_traits") {
sources = [
"array_traits.h",
"enum_traits.h",
"lib/template_util.h",
"map_traits.h",
"string_traits.h",
"struct_traits.h",
"union_traits.h",
]
}
if (!is_ios) {
# TODO(yzshen): crbug.com/617718 Consider moving this into blink.
source_set("wtf_support") {
sources = [
"array_traits_wtf_vector.h",
"lib/string_traits_wtf.cc",
"lib/wtf_clone_equals_util.h",
"lib/wtf_hash_util.h",
"lib/wtf_serialization.h",
"map_traits_wtf_hash_map.h",
"string_traits_wtf.h",
]
public_deps = [
":bindings",
"//third_party/WebKit/Source/platform/wtf",
]
public_configs = [ "//third_party/WebKit/Source:config" ]
}
}