1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5interfaces_bindings_gen_dir = "$root_gen_dir/mojo/public/interfaces/bindings" 6 7component("bindings") { 8 sources = [ 9 # Normally, targets should depend on the source_sets generated by mojom 10 # targets. However, the generated source_sets use portions of the bindings 11 # library. In order to avoid linker warnings about locally-defined imports 12 # in Windows components build, this target depends on the generated C++ 13 # files directly so that the EXPORT macro defintions match. 14 "$interfaces_bindings_gen_dir/interface_control_messages.mojom-shared-internal.h", 15 "$interfaces_bindings_gen_dir/interface_control_messages.mojom-shared.cc", 16 "$interfaces_bindings_gen_dir/interface_control_messages.mojom-shared.h", 17 "$interfaces_bindings_gen_dir/interface_control_messages.mojom.cc", 18 "$interfaces_bindings_gen_dir/interface_control_messages.mojom.h", 19 "$interfaces_bindings_gen_dir/pipe_control_messages.mojom-shared-internal.h", 20 "$interfaces_bindings_gen_dir/pipe_control_messages.mojom-shared.cc", 21 "$interfaces_bindings_gen_dir/pipe_control_messages.mojom-shared.h", 22 "$interfaces_bindings_gen_dir/pipe_control_messages.mojom.cc", 23 "$interfaces_bindings_gen_dir/pipe_control_messages.mojom.h", 24 "array_data_view.h", 25 "array_traits.h", 26 "array_traits_carray.h", 27 "array_traits_stl.h", 28 "associated_binding.h", 29 "associated_binding_set.h", 30 "associated_group.h", 31 "associated_group_controller.h", 32 "associated_interface_ptr.h", 33 "associated_interface_ptr_info.h", 34 "associated_interface_request.h", 35 "binding.h", 36 "binding_set.h", 37 "bindings_export.h", 38 "clone_traits.h", 39 "connection_error_callback.h", 40 "connector.h", 41 "disconnect_reason.h", 42 "filter_chain.h", 43 "interface_data_view.h", 44 "interface_endpoint_client.h", 45 "interface_endpoint_controller.h", 46 "interface_id.h", 47 "interface_ptr.h", 48 "interface_ptr_info.h", 49 "interface_ptr_set.h", 50 "interface_request.h", 51 "lib/array_internal.cc", 52 "lib/array_internal.h", 53 "lib/array_serialization.h", 54 "lib/associated_binding.cc", 55 "lib/associated_group.cc", 56 "lib/associated_group_controller.cc", 57 "lib/associated_interface_ptr_state.h", 58 "lib/binding_state.cc", 59 "lib/binding_state.h", 60 "lib/bindings_internal.h", 61 "lib/buffer.h", 62 "lib/connector.cc", 63 "lib/control_message_handler.cc", 64 "lib/control_message_handler.h", 65 "lib/control_message_proxy.cc", 66 "lib/control_message_proxy.h", 67 "lib/equals_traits.h", 68 "lib/filter_chain.cc", 69 "lib/fixed_buffer.cc", 70 "lib/fixed_buffer.h", 71 "lib/handle_interface_serialization.h", 72 "lib/hash_util.h", 73 "lib/interface_endpoint_client.cc", 74 "lib/interface_ptr_state.h", 75 "lib/map_data_internal.h", 76 "lib/map_serialization.h", 77 "lib/may_auto_lock.h", 78 "lib/message.cc", 79 "lib/message_buffer.cc", 80 "lib/message_buffer.h", 81 "lib/message_builder.cc", 82 "lib/message_builder.h", 83 "lib/message_header_validator.cc", 84 "lib/message_internal.h", 85 "lib/multiplex_router.cc", 86 "lib/multiplex_router.h", 87 "lib/native_enum_data.h", 88 "lib/native_enum_serialization.h", 89 "lib/native_struct.cc", 90 "lib/native_struct_data.cc", 91 "lib/native_struct_data.h", 92 "lib/native_struct_serialization.cc", 93 "lib/native_struct_serialization.h", 94 "lib/pipe_control_message_handler.cc", 95 "lib/pipe_control_message_proxy.cc", 96 "lib/scoped_interface_endpoint_handle.cc", 97 "lib/serialization.h", 98 "lib/serialization_context.cc", 99 "lib/serialization_context.h", 100 "lib/serialization_forward.h", 101 "lib/serialization_util.h", 102 "lib/string_serialization.h", 103 "lib/string_traits_string16.cc", 104 "lib/sync_call_restrictions.cc", 105 "lib/sync_handle_registry.cc", 106 "lib/sync_handle_watcher.cc", 107 "lib/template_util.h", 108 "lib/union_accessor.h", 109 "lib/validate_params.h", 110 "lib/validation_context.cc", 111 "lib/validation_context.h", 112 "lib/validation_errors.cc", 113 "lib/validation_errors.h", 114 "lib/validation_util.cc", 115 "lib/validation_util.h", 116 "map.h", 117 "map_data_view.h", 118 "map_traits.h", 119 "map_traits_stl.h", 120 "message.h", 121 "message_header_validator.h", 122 "native_enum.h", 123 "native_struct.h", 124 "native_struct_data_view.h", 125 "pipe_control_message_handler.h", 126 "pipe_control_message_handler_delegate.h", 127 "pipe_control_message_proxy.h", 128 "raw_ptr_impl_ref_traits.h", 129 "scoped_interface_endpoint_handle.h", 130 "string_data_view.h", 131 "string_traits.h", 132 "string_traits_stl.h", 133 "string_traits_string16.h", 134 "string_traits_string_piece.h", 135 "strong_associated_binding.h", 136 "strong_binding.h", 137 "strong_binding_set.h", 138 "struct_ptr.h", 139 "sync_call_restrictions.h", 140 "sync_handle_registry.h", 141 "sync_handle_watcher.h", 142 "thread_safe_interface_ptr.h", 143 "type_converter.h", 144 "union_traits.h", 145 "unique_ptr_impl_ref_traits.h", 146 ] 147 148 public_deps = [ 149 ":struct_traits", 150 "//base", 151 "//ipc:param_traits", 152 "//mojo/public/cpp/system", 153 ] 154 155 deps = [ 156 "//base", 157 "//mojo/public/interfaces/bindings:bindings__generator", 158 "//mojo/public/interfaces/bindings:bindings_shared__generator", 159 ] 160 161 defines = [ "MOJO_CPP_BINDINGS_IMPLEMENTATION" ] 162} 163 164source_set("struct_traits") { 165 sources = [ 166 "enum_traits.h", 167 "struct_traits.h", 168 ] 169} 170 171if (!is_ios) { 172 # TODO(yzshen): crbug.com/617718 Consider moving this into blink. 173 source_set("wtf_support") { 174 sources = [ 175 "array_traits_wtf_vector.h", 176 "lib/string_traits_wtf.cc", 177 "lib/wtf_clone_equals_util.h", 178 "lib/wtf_hash_util.h", 179 "lib/wtf_serialization.h", 180 "map_traits_wtf_hash_map.h", 181 "string_traits_wtf.h", 182 ] 183 184 public_deps = [ 185 ":bindings", 186 "//third_party/WebKit/Source/wtf", 187 ] 188 189 public_configs = [ "//third_party/WebKit/Source:config" ] 190 } 191} 192