# Copyright 2024 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/host.gni")
import("//build/rust/rustc_library.gni")

assert(is_host, "Assembly libraries are host-only")

rustc_library("blob_size") {
  edition = "2021"
  name = "assembly_blob_size"
  with_unit_tests = true
  deps = [
    "//src/lib/assembly/blobfs",
    "//src/lib/assembly/images_config",
    "//src/lib/assembly/tool",
    "//src/lib/assembly/util",
    "//src/sys/pkg/lib/fuchsia-hash",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:camino",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:tempfile",
  ]
  test_deps = [ "//third_party/rust_crates:serde_json" ]
  sources = [
    "src/blob_size.rs",
    "src/lib.rs",
  ]
}
