# 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_base") {
  sources = [
    "builder.cc",
    "decoding.cc",
    "encoding.cc",
    "formatting.cc",
    "internal.c",
    "linearizing.cc",
    "message.cc",
    "message_buffer.cc",
    "message_builder.cc",
    "transformer.cc",
    "txn_header.c",
    "validate_string.cc",
    "validating.cc",
    "walker.cc",
    "include/lib/fidl/coding.h",
    "include/lib/fidl/cpp/builder.h",
    "include/lib/fidl/cpp/message.h",
    "include/lib/fidl/cpp/message_buffer.h",
    "include/lib/fidl/cpp/message_builder.h",
    "include/lib/fidl/cpp/message_part.h",
    "include/lib/fidl/envelope_frames.h",
    "include/lib/fidl/internal.h",
    "include/lib/fidl/internal_callable_traits.h",
    "include/lib/fidl/transformer.h",
    "include/lib/fidl/txn_header.h",
    "include/lib/fidl/visitor.h",
    "include/lib/fidl/walker.h",
  ]
  include_dirs = [ "include" ]
  public_deps = [
    "../fit",
  ]
}

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