# 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 : constants
source_set("constants") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [
    "constants.cc",
    "constants.h",
  ]
  public_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

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

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

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

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

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

# CC Library : protobuf_helper
source_set("protobuf_helper") {
  configs += [ "//build/config:no_rtti" ]
  configs -= [ "//build/config:no_rtti" ]
  sources = [ "protobuf_helper.h" ]
  public_deps = [ "//third_party/protobuf:protobuf_lite" ]
  public_configs = [ "//third_party/tink:tink_config" ]
}
