| # Copyright 2018 The Fuchsia 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/components.gni") |
| import("//build/cpp/sdk_source_set.gni") |
| import("//build/fidl/fidl.gni") |
| import("//build/test.gni") |
| import("//sdk/cts/build/cts.gni") |
| import("//tools/fidl/gidl/gidl.gni") |
| |
| # The complete high-level C++ bindings library supporting both asynchronous |
| # and synchronous APIs. |
| sdk_source_set("cpp") { |
| category = "partner" |
| |
| sdk_name = "fidl_cpp" |
| |
| sources = [ |
| "binding.h", |
| "binding_set.h", |
| "event_sender.h", |
| "interface_ptr.h", |
| "interface_ptr_set.h", |
| "internal/header.h", |
| "internal/implementation.h", |
| "internal/message_handler.cc", |
| "internal/message_handler.h", |
| "internal/message_reader.cc", |
| "internal/message_reader.h", |
| "internal/pending_response.cc", |
| "internal/pending_response.h", |
| "internal/proxy.cc", |
| "internal/proxy.h", |
| "internal/proxy_controller.cc", |
| "internal/proxy_controller.h", |
| "internal/stub.cc", |
| "internal/stub.h", |
| "internal/stub_controller.cc", |
| "internal/stub_controller.h", |
| "internal/weak_stub_controller.cc", |
| "internal/weak_stub_controller.h", |
| "member_connector.h", |
| "service_connector.h", |
| "service_handler_base.h", |
| "type_converter.h", |
| ] |
| |
| include_base = "//sdk" |
| |
| public_deps = [ |
| ":cpp_sync", |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/stdcompat", |
| "//zircon/system/ulib/async", |
| "//zircon/system/ulib/async-default", |
| "//zircon/system/ulib/fidl", |
| "//zircon/system/ulib/zx", |
| ] |
| |
| public_configs = [ "//sdk/config" ] |
| } |
| |
| # The synchronous high-level C++ bindings library. |
| sdk_source_set("cpp_sync") { |
| category = "partner" |
| |
| sdk_name = "fidl_cpp_sync" |
| |
| sources = [ |
| "internal/logging.cc", |
| "internal/logging.h", |
| "internal/message_sender.cc", |
| "internal/message_sender.h", |
| "internal/synchronous_proxy.cc", |
| "internal/synchronous_proxy.h", |
| "synchronous_interface_ptr.h", |
| ] |
| |
| include_base = "//sdk" |
| |
| public_configs = [ "//sdk/config" ] |
| |
| public_deps = [ |
| ":cpp_base", |
| "//sdk/lib/fit", |
| "//zircon/system/ulib/fidl", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| # The base library used to implement the natural domain-object types. |
| # It should not contain message dispatching functionality. |
| sdk_source_set("cpp_base") { |
| category = "partner" |
| |
| sdk_name = "fidl_cpp_base" |
| |
| sources = [ |
| "clone.cc", |
| "clone.h", |
| "coding_traits.h", |
| "comparison.h", |
| "decoder.cc", |
| "decoder.h", |
| "encoder.cc", |
| "encoder.h", |
| "enum.h", |
| "internal/bitset.h", |
| "internal/natural_types_header.h", |
| "internal/natural_types_implementation.h", |
| "message.cc", |
| "message.h", |
| "message_buffer.cc", |
| "message_buffer.h", |
| "message_part.h", |
| "string.h", |
| "traits.h", |
| "types.h", |
| "vector.h", |
| ] |
| |
| include_base = "//sdk" |
| |
| public_configs = [ "//sdk/config" ] |
| |
| public_deps = [ |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/stdcompat", |
| "//zircon/system/ulib/fidl:fidl_base", |
| ] |
| |
| if (is_fuchsia) { |
| sources += [ |
| "interface_handle.h", |
| "interface_request.h", |
| ] |
| public_deps += [ |
| "//zircon/system/ulib/fidl", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| } |