# Copyright 2021 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")

rustc_binary("sys_realm_analyzer") {
  output_name = "sys_realm_analyzer"
  with_unit_tests = true
  edition = "2021"
  visibility = [ ":*" ]
  deps = [
    "//src/security/scrutiny",
    "//third_party/rust_crates:argh",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_json",
  ]
  sources = [ "src/main.rs" ]
  non_rust_deps = [ "//src/lib/chunked-compression" ]
}

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

group("tests") {
  testonly = true
  public_deps = [ ":sys_realm_analyzer_test($host_toolchain)" ]
}
