| # 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("//build/test/test_package.gni") |
| |
| # micro-ecc library |
| source_set("micro-ecc") { |
| sources = [ "uECC.c" ] |
| public = [ |
| "asm_arm.inc", |
| "asm_arm_mult_square.inc", |
| "asm_arm_mult_square_umaal.inc", |
| "asm_avr.inc", |
| "asm_avr_mult_square.inc", |
| "curve-specific.inc", |
| "platform-specific.inc", |
| "types.h", |
| "uECC.h", |
| "uECC_vli.h", |
| ] |
| public_configs = [ ":micro-ecc_config" ] |
| deps = [ |
| ":micro-ecc-headers", |
| "//zircon/system/ulib/zx", |
| ] |
| |
| # TODO(fxb/58162): delete the below and fix compiler warnings |
| configs += [ "//build/config:Wno-conversion" ] |
| } |
| |
| copy("micro-ecc-headers") { |
| sources = [ |
| "types.h", |
| "uECC.h", |
| "uECC_vli.h", |
| ] |
| outputs = [ "$target_gen_dir/include/micro-ecc/{{source_file_part}}" ] |
| } |
| |
| config("micro-ecc_config") { |
| include_dirs = [ |
| "$target_gen_dir/include", |
| "$target_gen_dir/include/micro-ecc", |
| ] |
| |
| # TODO(fxb/53953): Dependent libraries assume this word size, which should |
| # work for arm, arm64, x86, and x86_64 variants. After unwinding those |
| # assumptions, uECC_WORD_SIZE should be removed from this config. |
| defines = [ |
| "uECC_ENABLE_VLI_API", |
| "uECC_WORD_SIZE=4", |
| ] |
| } |
| |
| # micro-ecc test binaries |
| template("micro_ecc_test") { |
| assert(defined(invoker.sources), "must specify sources") |
| executable(target_name) { |
| testonly = true |
| visibility = [ ":*" ] |
| sources = invoker.sources |
| configs += [ ":micro-ecc-test_config" ] |
| deps = [ ":micro-ecc" ] |
| } |
| } |
| |
| micro_ecc_test("compress_test") { |
| sources = [ "test/test_compress.c" ] |
| } |
| |
| micro_ecc_test("compute_test") { |
| sources = [ "test/test_compute.c" ] |
| } |
| |
| micro_ecc_test("ecdh_test") { |
| sources = [ "test/test_ecdh.c" ] |
| } |
| |
| micro_ecc_test("ecdsa_test") { |
| sources = [ "test/test_ecdsa.c" ] |
| } |
| |
| config("micro-ecc-test_config") { |
| configs = [ ":micro-ecc_config" ] |
| } |
| |
| # micro-ecc test package |
| unittest_package("micro-ecc-tests") { |
| deps = [ |
| ":compress_test", |
| ":compute_test", |
| ":ecdh_test", |
| ":ecdsa_test", |
| ] |
| tests = [ |
| { |
| name = "compress_test" |
| }, |
| { |
| name = "compute_test" |
| }, |
| { |
| name = "ecdh_test" |
| }, |
| { |
| name = "ecdsa_test" |
| }, |
| ] |
| } |