# Copyright 2022 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/go/go_library.gni")

assert(is_host, "GIDL only runs on host")

go_library("llcpp") {
  deps = [
    "//tools/fidl/gidl/lib/config",
    "//tools/fidl/gidl/lib/hlcpp",
    "//tools/fidl/gidl/lib/ir",
    "//tools/fidl/gidl/lib/llcpp",
    "//tools/fidl/gidl/lib/mixer",
    "//tools/fidl/lib/fidlgen",
  ]
  sources = [
    "benchmarks.go",
    "benchmarks.tmpl",
    "conformance.go",
    "conformance.tmpl",
  ]
}
