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

import("//build/components.gni")
import("//build/rust/rustc_library.gni")

rustc_library("internet-checksum") {
  name = "internet_checksum"
  version = "0.2.0"
  edition = "2018"
  with_unit_tests = true

  test_deps = [
    "//third_party/rust_crates:rand",
    "//third_party/rust_crates:rand_xorshift",
  ]

  sources = [ "src/lib.rs" ]

  configs -= [ "//build/config/rust:allow_unused_results" ]
}

fuchsia_unittest_package("internet-checksum-test-package") {
  package_name = "internet-checksum-test"
  deps = [ ":internet-checksum_test" ]
}

group("tests") {
  testonly = true
  public_deps = [
    ":internet-checksum-test-package",
    ":internet-checksum_test($host_toolchain)",
  ]
}
