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

import("//build/unification/zx_library.gni")

zx_library("gpt") {
  sdk = "source"
  sdk_headers = [
    "gpt/c/gpt.h",
    "gpt/cros.h",
    "gpt/gpt.h",
    "gpt/guid.h",
  ]
  public_deps = [
    "//sdk/lib/fit-promise",
    "//src/lib/uuid",
    "//zircon/public/lib/fbl",
    "//zircon/system/ulib/zxc",
  ]

  if (is_fuchsia) {
    sources = [
      "cros.cc",
      "gpt.cc",
      "guid.cc",
    ]
    deps = [
      "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_c",
      "//sdk/lib/fit",
      "//zircon/system/ulib/mbr",
      "//zircon/system/ulib/range",
      "//zircon/system/ulib/utf_conversion",
      "//zircon/third_party/ulib/cksum",
      "//zircon/third_party/ulib/safemath",
    ]
  }
}
