# Copyright 2019 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/unification/zx_library.gni")

zx_library("svc") {
  sdk = "source"
  sdk_headers = [
    "lib/svc/outgoing.h",
    "lib/svc/service.h",
  ]
  sources = [ "outgoing.cc" ]
  deps = [ "//sdk/lib/fdio" ]
  public_deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp",
    "//src/lib/storage/vfs/cpp",
    "//zircon/public/lib/async",
    "//zircon/public/lib/zx",
  ]

  # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
  # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
  # See linked bug for details.
  configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}
