# Copyright (c) 2013 The Chromium 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("//testing/test.gni")

component("crypto") {
  output_name = "crcrypto"  # Avoid colliding with OpenSSL's libcrypto.
  sources = [
    "crypto_export.h",
    "openssl_util.cc",
    "openssl_util.h",
    "random.cc",
    "random.h",
    "secure_hash.h",
    "secure_hash_openssl.cc",
    "sha2.cc",
    "sha2.h",
  ]

  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
    "//third_party/boringssl",
  ]

  if (is_android) {
    deps += [ "//third_party/android_tools:cpu_features" ]
  }

  if (is_win) {
    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    cflags = [ "/wd4267" ]
  }

  defines = [ "CRYPTO_IMPLEMENTATION" ]
}

# TODO(GYP): Make this link on win as well.
if (!is_win) {
  test("crypto_unittests") {
    sources = [
      # Tests.
      "random_unittest.cc",
      "secure_hash_unittest.cc",
      "sha2_unittest.cc",
    ]

    deps = [
      ":crypto",
      "//base",
      "//base/test:run_all_unittests",
      "//base/test:test_support",
      "//testing/gmock",
      "//testing/gtest",
      "//third_party/boringssl",
    ]

    if (is_android) {
      apk_deps = [
        "//base:base_java",
        "//base:base_java_unittest_support",
      ]
    }
  }
}
