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

# CC Library : ind_cpa_cipher
source_set("ind_cpa_cipher") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [ "ind_cpa_cipher.h" ]
  public_deps = [
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : ecies_hkdf_recipient_kem_boringssl
source_set("ecies_hkdf_recipient_kem_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "ecies_hkdf_recipient_kem_boringssl.cc",
    "ecies_hkdf_recipient_kem_boringssl.h",
  ]
  public_deps = [
    ":common_enums",
    ":hkdf",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/memory:memory",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : ecies_hkdf_sender_kem_boringssl
source_set("ecies_hkdf_sender_kem_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "ecies_hkdf_sender_kem_boringssl.cc",
    "ecies_hkdf_sender_kem_boringssl.h",
  ]
  public_deps = [
    ":common_enums",
    ":hkdf",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/memory:memory",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : ec_util
source_set("ec_util") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "ec_util.cc",
    "ec_util.h",
  ]
  public_deps = [
    ":common_enums",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : hkdf
source_set("hkdf") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "hkdf.cc",
    "hkdf.h",
  ]
  public_deps = [
    ":common_enums",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : aes_cmac_boringssl
source_set("aes_cmac_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "aes_cmac_boringssl.cc",
    "aes_cmac_boringssl.h",
  ]
  public_deps = [
    ":common_enums",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc:mac",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : hmac_boringssl
source_set("hmac_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "hmac_boringssl.cc",
    "hmac_boringssl.h",
  ]
  public_deps = [
    ":common_enums",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc:mac",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : aes_gcm_boringssl
source_set("aes_gcm_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "aes_gcm_boringssl.cc",
    "aes_gcm_boringssl.h",
  ]
  public_deps = [
    ":random",
    ":subtle_util",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc:aead",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : aes_eax_boringssl
source_set("aes_eax_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "aes_eax_boringssl.cc",
    "aes_eax_boringssl.h",
  ]
  public_deps = [
    ":random",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc:aead",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : encrypt_then_authenticate
source_set("encrypt_then_authenticate") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "encrypt_then_authenticate.cc",
    "encrypt_then_authenticate.h",
  ]
  public_deps = [
    ":aes_ctr_boringssl",
    ":ind_cpa_cipher",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/tink/cc:aead",
    "//third_party/tink/cc:mac",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : aes_ctr_boringssl
source_set("aes_ctr_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "aes_ctr_boringssl.cc",
    "aes_ctr_boringssl.h",
  ]
  public_deps = [
    ":ind_cpa_cipher",
    ":random",
    ":subtle_util",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : random
source_set("random") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "random.cc",
    "random.h",
  ]
  public_deps = [ "//third_party/boringssl:crypto" ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : xchacha20_poly1305_boringssl
source_set("xchacha20_poly1305_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "xchacha20_poly1305_boringssl.cc",
    "xchacha20_poly1305_boringssl.h",
  ]
  public_deps = [
    ":common_enums",
    ":random",
    ":subtle_util_boringssl",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc:aead",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : aes_gcm_siv_boringssl
source_set("aes_gcm_siv_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "aes_gcm_siv_boringssl.cc",
    "aes_gcm_siv_boringssl.h",
  ]
  public_deps = [
    ":random",
    ":subtle_util",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc:aead",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : common_enums
source_set("common_enums") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "common_enums.cc",
    "common_enums.h",
  ]
  public_deps = [ "//third_party/abseil-cpp/absl/strings:strings" ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : subtle_util
source_set("subtle_util") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "subtle_util.cc",
    "subtle_util.h",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

# CC Library : subtle_util_boringssl
source_set("subtle_util_boringssl") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "subtle_util_boringssl.cc",
    "subtle_util_boringssl.h",
  ]
  public_deps = [
    ":common_enums",
    "//third_party/abseil-cpp/absl/memory:memory",
    "//third_party/abseil-cpp/absl/strings:strings",
    "//third_party/boringssl:crypto",
    "//third_party/tink/cc/util:errors",
    "//third_party/tink/cc/util:status",
    "//third_party/tink/cc/util:statusor",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}
