# Copyright 2018 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")
import("//build/test/test_package.gni")

rustc_library("mundane") {
  name = "mundane"
  version = "0.3.0"
  with_unit_tests = true
  edition = "2015"

  deps = [
    "//third_party/boringssl/rust/boringssl-sys",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:thiserror",
  ]

  features = [
    "bytes",
    "insecure",
    "rsa-pkcs1v15",
    "experimental-sha512-ec",
    "kdf",
  ]

  sources = [
    "src/boringssl/abort.rs",
    "src/boringssl/mod.rs",
    "src/boringssl/raw.rs",
    "src/boringssl/wrapper.rs",
    "src/bytes.rs",
    "src/hash.rs",
    "src/hmac.rs",
    "src/insecure.rs",
    "src/insecure_rc4.rs",
    "src/kdf.rs",
    "src/lib.rs",
    "src/macros.rs",
    "src/password.rs",
    "src/public/ec/curve.rs",
    "src/public/ec/mod.rs",
    "src/public/ed25519.rs",
    "src/public/mod.rs",
    "src/public/rsa/bits.rs",
    "src/public/rsa/mod.rs",
    "src/util.rs",
  ]
}

unittest_package("mundane-tests") {
  deps = [ ":mundane_test" ]

  tests = [
    {
      name = "mundane_lib_test"
      environments = basic_envs
    },
  ]
}

group("tests") {
  testonly = true
  deps = [ ":mundane-tests" ]
}
