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

library("fvm") {
  host = true
  sources = [
    "client.cpp",
    "format.cpp",
    "fvm-check.cpp",
    "fvm.cpp",
    "sparse-reader.cpp",
  ]
  deps = [
    "$zx/system/ulib/digest",
    "$zx/system/ulib/fbl",
    "$zx/third_party/ulib/lz4",
    "$zx/third_party/ulib/uboringssl",
  ]
  public_deps = [
    # <fvm/fvm.h> has #include <digest/digest.h>.
    "$zx/system/ulib/digest:headers",

    # <fvm/fvm.h> has #include <gpt/gpt.h>.
    "$zx/system/ulib/gpt:headers",

    # <fvm/sparse-reader.h> has #include <lz4/lz4frame.h>.
    "$zx/third_party/ulib/lz4:headers",
  ]
  if (is_fuchsia) {
    deps += [
      "$zx/system/fidl/fuchsia-hardware-block-volume:c",
      "$zx/system/ulib/fzl",
      "$zx/system/ulib/gpt",
      "$zx/system/ulib/sync",
      "$zx/system/ulib/zircon",
      "$zx/system/ulib/zx",
      "$zx/system/ulib/zxcpp",
    ]
  } else {
    # fvm-check.cpp has #include <zircon/status.h> even when built for host.
    deps += [ "$zx/system/ulib/zircon:headers" ]
  }
}
