# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

import("//build/zircon/zircon_cpu.gni")

source_set("top") {
  sources = [
    "debug.cc",
    "handoff.cc",
    "init.cc",
    "main.cc",
  ]
  deps = [
    "//zircon/kernel/arch/$zircon_cpu",
    "//zircon/kernel/dev:init",
    "//zircon/kernel/dev/hw_rng",
    "//zircon/kernel/kernel",
    "//zircon/kernel/lib/backtrace",
    "//zircon/kernel/lib/boot-options",
    "//zircon/kernel/lib/counters",
    "//zircon/kernel/lib/crashlog",
    "//zircon/kernel/lib/cxxabi-dynamic-init:headers",
    "//zircon/kernel/lib/debuglog",
    "//zircon/kernel/lib/init",
    "//zircon/kernel/lib/io",
    "//zircon/kernel/lib/jtrace:headers",
    "//zircon/kernel/lib/lockup_detector",
    "//zircon/kernel/lib/userabi",
    "//zircon/kernel/lib/version",
    "//zircon/kernel/phys:handoff",
    "//zircon/kernel/platform",
    "//zircon/system/ulib/zbitl",
  ]
}
