# Copyright 2020 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.

# DO NOT MANUALLY EDIT!
# Generated by //scripts/sdk/gn/generate.py.


import("../../build/fuchsia_sdk_pkg.gni")

fuchsia_sdk_pkg("fidl_cpp_sync") {
  sources = [
    "internal/message_sender.cc",
    "internal/synchronous_proxy.cc",
    "include/lib/fidl/cpp/interface_handle.h",
    "include/lib/fidl/cpp/interface_request.h",
    "include/lib/fidl/cpp/internal/message_sender.h",
    "include/lib/fidl/cpp/internal/synchronous_proxy.h",
    "include/lib/fidl/cpp/synchronous_interface_ptr.h",
  ]
  include_dirs = [ "include" ]
  public_deps = [
    "../fidl",
    "../fidl-async",
    "../fidl_cpp_base",
    "../fit",
    "../zx",
  ]
}

group("all"){
  deps = [
    ":fidl_cpp_sync",
  ]
}
