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

visibility = [ "$cobalt_root/*" ]

static_library("crypto_util") {
  sources = [
    "errors.cc",
    "errors.h",
    "hash.cc",
    "hash.h",
    "random.cc",
    "random.h",
  ]
  configs += [ "$cobalt_root:cobalt_config" ]

  public_deps = [ "//third_party/boringssl" ]
}

source_set("tests") {
  testonly = true
  sources = [
    "hash_test.cc",
    "random_test.cc",
  ]

  deps = [
    ":crypto_util",
    "//third_party/googletest:gtest",
  ]

  configs += [ "$cobalt_root:cobalt_config" ]
}
