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

# Base library used by both Fuchsia and host
library("fidl_base") {
  sdk = "source"
  sdk_headers = [
    "lib/fidl/coding.h",
    "lib/fidl/cpp/builder.h",
    "lib/fidl/cpp/message.h",
    "lib/fidl/cpp/message_buffer.h",
    "lib/fidl/cpp/message_builder.h",
    "lib/fidl/cpp/message_part.h",
    "lib/fidl/cpp/string_view.h",
    "lib/fidl/cpp/vector_view.h",
    "lib/fidl/envelope_frames.h",
    "lib/fidl/internal.h",
    "lib/fidl/internal_callable_traits.h",
    "lib/fidl/visitor.h",
    "lib/fidl/walker.h",
  ]
  sources = [
    "builder.cpp",
    "decoding.cpp",
    "encoding.cpp",
    "formatting.cpp",
    "internal.cpp",
    "linearizing.cpp",
    "message.cpp",
    "message_buffer.cpp",
    "message_builder.cpp",
    "validating.cpp",
    "walker.cpp",
  ]
  configs += [ "$zx/public/gn/config:visibility_hidden" ]
  deps = [
    "$zx/system/ulib/zircon",
  ]
}

library("fidl") {
  sdk = "source"
  sdk_headers = [
    "lib/fidl/epitaph.h",
    "lib/fidl/transport.h",
  ]
  sources = [
    "epitaph.c",
    "handle_closing.cpp",
    "transport.cpp",
  ]
  configs += [ "$zx/public/gn/config:visibility_hidden" ]
  deps = [
    ":fidl_base",
    "$zx/system/ulib/zircon",
  ]
}

library("fidl-llcpp") {
  sdk = "source"
  sdk_headers = [
    "lib/fidl/llcpp/array.h",
    "lib/fidl/llcpp/coding.h",
    "lib/fidl/llcpp/decoded_message.h",
    "lib/fidl/llcpp/encoded_message.h",
    "lib/fidl/llcpp/traits.h",
    "lib/fidl/llcpp/transaction.h",
  ]
  sources = [
    "llcpp_transaction.cpp",
  ]
  configs += [ "$zx/public/gn/config:visibility_hidden" ]
  public_deps = [
    ":headers",

    # <lib/fidl/llcpp/traits.h> has #include <lib/zx/object.h>.
    "$zx/system/ulib/zx:headers",
  ]
  deps = [
    ":fidl",
    "$zx/system/ulib/zircon",
  ]
}
