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

zx_library("kernel-mexec") {
  sources = [
    "kernel-mexec.cc",
  ]
  deps = [
    "$zx/system/fidl/fuchsia-device-manager:c",
    "$zx/system/fidl/fuchsia-kernel:c",
    "$zx/system/ulib/async",
    "$zx/system/ulib/ddk",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fidl",
    "$zx/system/ulib/fidl-async",
    "$zx/system/ulib/fzl",
    "$zx/system/ulib/libzbi",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zircon-internal",
    "$zx/system/ulib/zx",
  ]
  public_deps = [
    "$zx/system/ulib/svc:headers",
  ]
}

zx_test("kernel-mexec-test") {
  sources = [
    "kernel-mexec_test.cc",
  ]
  deps = [
    ":kernel-mexec",
    "$zx/system/fidl/fuchsia-device-manager:c",
    "$zx/system/ulib/async",
    "$zx/system/ulib/async-loop:async-loop-cpp",
    "$zx/system/ulib/async-loop:async-loop-default.static",
    "$zx/system/ulib/fidl",
    "$zx/system/ulib/fidl-async",
    "$zx/system/ulib/fs",
    "$zx/system/ulib/libzbi",
    "$zx/system/ulib/svc",
    "$zx/system/ulib/zx",
    "$zx/system/ulib/zxtest",
  ]
}
