# 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/components.gni")
import("//build/test.gni")

# This binary is in charge of wiring all the fake resources for the test.
# Everything is offered to the test component, which is a parent. The
# parent then forwards this to the child(the early boot instrumentation component).
executable("provider") {
  sources = [ "provider.cc" ]
  deps = [
    "//sdk/lib/stdcompat",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/syslog/cpp",
    "//sdk/lib/vfs/cpp",
    "//src/lib/fxl",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
    "//zircon/system/ulib/fbl",
  ]
}

fuchsia_component("early-boot-instrumentation-provider") {
  manifest = "meta/provider.cml"
  deps = [ ":provider" ]
}
