# Copyright 2022 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/rust/rustc_library.gni")

static_library("debug_sym_for_rust") {
  visibility = [ ":*" ]
  sources = [ "debug_sym_for_rust.cc" ]
  deps = [
    "//src/lib/debug",
    "//src/lib/debug:backtrace-request",
  ]
}

rustc_library("rust") {
  name = "debug"
  version = "0.1.0"
  edition = "2021"
  with_unit_tests = true

  sources = [ "src/lib.rs" ]

  non_rust_deps = [ ":debug_sym_for_rust" ]
}

group("tests") {
  testonly = true

  # We don't have any tests to run, but building the test binary ensures all the
  # linking is correct.
  deps = [ ":rust_test" ]
}
