# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

import("//build_overrides/pigweed.gni")
import("$dir_pw_bloat/bloat.gni")
import("$dir_pw_build/target_types.gni")
import("$dir_pw_unit_test/test.gni")

group("default") {
  deps = [
    ":fuzzers(//toolchains:host_fuzz)",
    ":optimized_libs(//toolchains:host_optimized)",
    ":tests.run(//toolchains:host_debug)",
  ]
}

pw_source_set("cbor_writer") {
  public = [ "include/dice/cbor_writer.h" ]
  sources = [ "src/cbor_writer.c" ]
}

pw_source_set("cbor_reader") {
  public = [ "include/dice/cbor_reader.h" ]
  sources = [ "src/cbor_reader.c" ]
}

config("standalone_ops_config") {
  include_dirs = [ "//include/dice/config/standalone" ]
}

pw_static_library("dice_standalone") {
  public = [
    "include/dice/dice.h",
    "include/dice/utils.h",
  ]
  sources = [
    "src/clear_memory.c",
    "src/dice.c",
  ]
  all_dependent_configs = [ ":standalone_ops_config" ]
}

config("boringssl_ed25519_ops_config") {
  include_dirs = [ "//include/dice/config/boringssl_ed25519" ]
}

pw_static_library("dice_with_boringssl_ops") {
  public = [
    "include/dice/dice.h",
    "include/dice/utils.h",
  ]
  sources = [
    "src/boringssl_cert_op.c",
    "src/boringssl_ed25519_ops.c",
    "src/boringssl_hash_kdf_ops.c",
    "src/clear_memory.c",
    "src/dice.c",
    "src/utils.c",
  ]
  deps = [ "//third_party/boringssl:crypto" ]
  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
}

config("mbedtls_ops_config") {
  include_dirs = [ "//include//dice/config/mbedtls_ecdsa_p256" ]
  defines = [ "MBEDTLS_ALLOW_PRIVATE_ACCESS" ]
}

pw_static_library("dice_with_mbedtls_ops") {
  public = [
    "include/dice/dice.h",
    "include/dice/utils.h",
  ]
  sources = [
    "src/clear_memory.c",
    "src/dice.c",
    "src/mbedtls_ops.c",
    "src/utils.c",
  ]
  deps = [ "//third_party/mbedtls:mbedcrypto" ]
  all_dependent_configs = [ ":mbedtls_ops_config" ]
}

pw_static_library("dice_with_cbor_cert") {
  public = [
    "include/dice/dice.h",
    "include/dice/utils.h",
  ]
  sources = [
    "src/boringssl_ed25519_ops.c",
    "src/boringssl_hash_kdf_ops.c",
    "src/cbor_cert_op.c",
    "src/clear_memory.c",
    "src/dice.c",
    "src/utils.c",
  ]
  deps = [
    ":cbor_writer",
    "//third_party/boringssl:crypto",
  ]
  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
}

pw_static_library("dice_with_cbor_template_cert") {
  public = [
    "include/dice/dice.h",
    "include/dice/utils.h",
  ]
  sources = [
    "src/boringssl_ed25519_ops.c",
    "src/boringssl_hash_kdf_ops.c",
    "src/clear_memory.c",
    "src/dice.c",
    "src/template_cbor_cert_op.c",
    "src/utils.c",
  ]
  deps = [ "//third_party/boringssl:crypto" ]
  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
}

pw_static_library("dice_with_x509_template_cert") {
  public = [
    "include/dice/dice.h",
    "include/dice/utils.h",
  ]
  sources = [
    "src/boringssl_ed25519_ops.c",
    "src/boringssl_hash_kdf_ops.c",
    "src/clear_memory.c",
    "src/dice.c",
    "src/template_cert_op.c",
    "src/utils.c",
  ]
  deps = [ "//third_party/boringssl:crypto" ]
  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
}

pw_source_set("fuzzer") {
  sources = [ "src/fuzzer.cc" ]
}

pw_test("cbor_writer_test") {
  sources = [ "src/cbor_writer_test.cc" ]
  deps = [ ":cbor_writer" ]
}

pw_test("cbor_reader_test") {
  sources = [ "src/cbor_reader_test.cc" ]
  deps = [ ":cbor_reader" ]
}

pw_executable("cbor_writer_fuzzer") {
  sources = [ "src/cbor_writer_fuzzer.cc" ]
  deps = [ ":cbor_writer" ]
}

pw_executable("cbor_reader_fuzzer") {
  sources = [ "src/cbor_reader_fuzzer.cc" ]
  deps = [ ":cbor_reader" ]
}

pw_test("dice_test") {
  sources = [ "src/dice_test.cc" ]
  deps = [
    ":dice_standalone",
    "//third_party/boringssl:crypto",
  ]
}

pw_test("boringssl_ops_test") {
  sources = [
    "src/boringssl_ops_test.cc",
    "src/test_utils.cc",
  ]
  deps = [
    ":dice_with_boringssl_ops",
    "$dir_pw_string:pw_string",
    "//third_party/boringssl:crypto",
    "//third_party/cose-c:cose-c",
  ]
}

pw_executable("boringssl_ops_fuzzer") {
  deps = [
    ":dice_with_boringssl_ops",
    ":fuzzer",
  ]
}

pw_test("template_cert_op_test") {
  sources = [
    "src/template_cert_op_test.cc",
    "src/test_utils.cc",
  ]
  deps = [
    ":dice_with_x509_template_cert",
    "$dir_pw_string:pw_string",
    "//third_party/boringssl:crypto",
    "//third_party/cose-c:cose-c",
  ]
}

pw_executable("template_cert_op_fuzzer") {
  deps = [
    ":dice_with_x509_template_cert",
    ":fuzzer",
  ]
}

pw_test("cbor_cert_op_test") {
  sources = [
    "src/cbor_cert_op_test.cc",
    "src/test_utils.cc",
  ]
  deps = [
    ":dice_with_cbor_cert",
    "$dir_pw_string:pw_string",
    "//third_party/boringssl:crypto",
    "//third_party/cose-c:cose-c",
  ]
}

pw_executable("cbor_cert_op_fuzzer") {
  deps = [
    ":dice_with_cbor_cert",
    ":fuzzer",
  ]
}

pw_test("template_cbor_cert_op_test") {
  sources = [
    "src/template_cbor_cert_op_test.cc",
    "src/test_utils.cc",
  ]
  deps = [
    ":dice_with_cbor_template_cert",
    "$dir_pw_string:pw_string",
    "//third_party/boringssl:crypto",
    "//third_party/cose-c:cose-c",
  ]
}

pw_executable("template_cbor_cert_op_fuzzer") {
  deps = [
    ":dice_with_cbor_template_cert",
    ":fuzzer",
  ]
}

pw_test("mbedtls_ops_test") {
  sources = [
    "src/mbedtls_ops_test.cc",
    "src/test_utils.cc",
  ]
  deps = [
    ":dice_with_mbedtls_ops",
    "$dir_pw_string:pw_string",
    "//third_party/boringssl:crypto",
    "//third_party/cose-c:cose-c",
  ]
}

pw_executable("mbedtls_ops_fuzzer") {
  deps = [
    ":dice_with_mbedtls_ops",
    ":fuzzer",
  ]
}

pw_test_group("tests") {
  tests = [
    ":boringssl_ops_test",
    ":cbor_cert_op_test",
    ":cbor_reader_test",
    ":cbor_writer_test",
    ":dice_test",
    ":mbedtls_ops_test",
    ":template_cbor_cert_op_test",
    ":template_cert_op_test",
    "//src/android:bcc_test",
  ]
}

group("fuzzers") {
  deps = [
    ":boringssl_ops_fuzzer",
    ":cbor_cert_op_fuzzer",
    ":cbor_reader_fuzzer",
    ":cbor_writer_fuzzer",
    ":mbedtls_ops_fuzzer",
    ":template_cbor_cert_op_fuzzer",
    ":template_cert_op_fuzzer",
    "//src/android:bcc_fuzzer",
  ]
}

pw_static_library("empty_lib") {
}

pw_executable("empty_main") {
  sources = [ "src/empty_main.c" ]
}

pw_executable("dice_standalone_main") {
  sources = [ "src/dice_standalone_main.c" ]
  deps = [ ":dice_standalone" ]
}

pw_source_set("dice_main") {
  sources = [ "src/dice_main.c" ]
}

pw_executable("dice_with_boringssl_ops_main") {
  deps = [
    ":dice_main",
    ":dice_with_boringssl_ops",
  ]
}

pw_executable("dice_with_mbedtls_ops_main") {
  deps = [
    ":dice_main",
    ":dice_with_mbedtls_ops",
  ]
}

pw_executable("dice_with_cbor_cert_main") {
  deps = [
    ":dice_main",
    ":dice_with_cbor_cert",
  ]
}

pw_executable("dice_with_cbor_template_cert_main") {
  deps = [
    ":dice_main",
    ":dice_with_cbor_template_cert",
  ]
}

pw_executable("dice_with_x509_template_cert_main") {
  deps = [
    ":dice_main",
    ":dice_with_x509_template_cert",
  ]
}

pw_size_diff("executable_size_report") {
  title = "Executable sizes (includes thirdparty deps)"
  base = ":empty_main"
  binaries = [
    {
      target = ":dice_standalone_main"
      label = "DiceMainFlow only (No Ops)"
    },
    {
      target = ":dice_with_boringssl_ops_main"
      label = "Boringssl Ops"
      base = ":dice_standalone_main"
    },
    {
      target = ":dice_with_mbedtls_ops_main"
      label = "MbedTLS Ops"
      base = ":dice_standalone_main"
    },
    {
      target = ":dice_with_cbor_cert_main"
      label = "Boringssl with CBOR Cert"
      base = ":dice_with_boringssl_ops_main"
    },
    {
      target = ":dice_with_cbor_template_cert_main"
      label = "Boringssl with CBOR Template Cert"
      base = ":dice_with_boringssl_ops_main"
    },
    {
      target = ":dice_with_x509_template_cert_main"
      label = "Boringssl with X.509 Template Cert"
      base = ":dice_with_boringssl_ops_main"
    },
  ]
}

pw_size_diff("library_size_report") {
  title = "Library sizes (excludes thirdparty deps)"
  base = ":empty_lib"
  binaries = [
    {
      target = ":dice_standalone"
      label = "DICE Standalone (No Ops)"
    },
    {
      target = ":dice_with_boringssl_ops"
      label = "Boringssl Ops"
      base = ":dice_standalone"
    },
    {
      target = ":dice_with_mbedtls_ops"
      label = "MbedTLS Ops"
      base = ":dice_standalone"
    },
    {
      target = ":dice_with_cbor_cert"
      label = "CBOR Cert"
      base = ":dice_standalone"
    },
    {
      target = ":dice_with_cbor_template_cert"
      label = "CBOR Template Cert"
      base = ":dice_standalone"
    },
    {
      target = ":dice_with_x509_template_cert"
      label = "X.509 Template Cert"
      base = ":dice_standalone"
    },
  ]
}

group("optimized_libs") {
  deps = [
    ":dice_standalone",
    ":dice_with_boringssl_ops",
    ":dice_with_cbor_cert",
    ":dice_with_cbor_template_cert",
    ":dice_with_mbedtls_ops",
    ":dice_with_x509_template_cert",
    ":executable_size_report",
    ":library_size_report",
    "//src/android:bcc",
  ]
}
