# Copyright 2020 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_binary.gni")

if (is_host) {
  rustc_binary("bin") {
    name = "scrutiny"
    with_unit_tests = true
    edition = "2018"
    deps = [
      "//src/security/scrutiny/lib",
      "//third_party/rust_crates:anyhow",
    ]

    non_rust_deps = [ "//src/lib/chunked-compression" ]

    sources = [ "src/main.rs" ]
  }
}

install_host_tools("host") {
  deps = [ ":bin" ]
  outputs = [ "scrutiny" ]
}

group("scrutiny") {
  public_deps = [ ":host" ]
}
