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

import("//third_party/protobuf/proto_library.gni")

# Proto Library : common_proto
proto_library("common_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "common.proto" ]
}

# Proto Library : tink_proto
proto_library("tink_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "tink.proto" ]
  deps = [ ":common_proto" ]
}

# Proto Library : config_proto
proto_library("config_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "config.proto" ]
}

# Proto Library : ecdsa_proto
proto_library("ecdsa_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "ecdsa.proto" ]
  deps = [ ":common_proto" ]
}

# Proto Library : aes_cmac_proto
proto_library("aes_cmac_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "aes_cmac.proto" ]
}

# Proto Library : hmac_proto
proto_library("hmac_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "hmac.proto" ]
  deps = [ ":common_proto" ]
}

# Proto Library : aes_ctr_proto
proto_library("aes_ctr_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "aes_ctr.proto" ]
}

# Proto Library : aes_ctr_hmac_aead_proto
proto_library("aes_ctr_hmac_aead_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "aes_ctr_hmac_aead.proto" ]
  deps = [
    ":aes_ctr_proto",
    ":hmac_proto",
  ]
}

# Proto Library : aes_gcm_proto
proto_library("aes_gcm_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "aes_gcm.proto" ]
}

# Proto Library : aes_gcm_siv_proto
proto_library("aes_gcm_siv_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "aes_gcm_siv.proto" ]
}

# Proto Library : aes_eax_proto
proto_library("aes_eax_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "aes_eax.proto" ]
}

# Proto Library : kms_aead_proto
proto_library("kms_aead_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "kms_aead.proto" ]
}

# Proto Library : kms_envelope_proto
proto_library("kms_envelope_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "kms_envelope.proto" ]
  deps = [ ":tink_proto" ]
}

# Proto Library : ecies_aead_hkdf_proto
proto_library("ecies_aead_hkdf_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "ecies_aead_hkdf.proto" ]
  deps = [
    ":common_proto",
    ":tink_proto",
  ]
}

# Proto Library : xchacha20_poly1305_proto
proto_library("xchacha20_poly1305_proto") {
  cc_generator_options = "lite"
  proto_in_dir = "//third_party/tink"
  extra_configs = [ "//third_party/tink:tink_config" ]
  sources = [ "xchacha20_poly1305.proto" ]
}

