# Copyright 2021 The Pigweed Authors # # 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. load( "//pw_build:pigweed.bzl", "pw_cc_test", "pw_facade", ) package(default_visibility = ["//visibility:public"]) licenses(["notice"]) pw_facade( name = "sha256", hdrs = [ "public/pw_crypto/sha256.h", ], backend = ":sha256_backend", includes = ["public"], deps = [ "//pw_assert", "//pw_bytes", "//pw_log", "//pw_status", "//pw_stream", ], ) label_flag( name = "sha256_backend", build_setting_default = ":sha256_backend_multiplexer", ) constraint_setting( name = "sha256_backend_constraint_setting", ) constraint_value( name = "sha256_mbedtls_backend", constraint_setting = ":sha256_backend_constraint_setting", ) alias( name = "sha256_backend_multiplexer", actual = select({ ":sha256_mbedtls_backend": ":sha256_mbedtls", "//conditions:default": ":sha256_mbedtls", }), ) cc_library( name = "sha256_mbedtls", srcs = ["sha256_mbedtls.cc"], hdrs = [ "public/pw_crypto/sha256_mbedtls.h", "public_overrides/mbedtls/pw_crypto/sha256_backend.h", ], includes = ["public_overrides/mbedtls"], deps = [ ":sha256_facade", "@mbedtls", ], ) pw_cc_test( name = "sha256_test", srcs = ["sha256_test.cc"], deps = [ ":sha256", "//pw_unit_test", ], ) cc_library( name = "sha256_mock", srcs = ["sha256_mock.cc"], hdrs = [ "public/pw_crypto/sha256_mock.h", "public_overrides/mock/pw_crypto/sha256_backend.h", ], includes = [ "public", "public_overrides/mock", ], deps = [":sha256_facade"], ) pw_cc_test( name = "sha256_mock_test", srcs = ["sha256_mock_test.cc"], deps = [ ":sha256_mock", "//pw_unit_test", ], ) pw_facade( name = "ecdsa", hdrs = [ "public/pw_crypto/ecdsa.h", ], backend = ":ecdsa_backend", includes = ["public"], deps = [ "//pw_bytes", "//pw_status", ], ) label_flag( name = "ecdsa_backend", build_setting_default = ":ecdsa_backend_multiplexer", ) constraint_setting( name = "ecdsa_backend_constraint_setting", ) constraint_value( name = "ecdsa_mbedtls_backend", constraint_setting = ":ecdsa_backend_constraint_setting", ) constraint_value( name = "ecdsa_uecc_backend", constraint_setting = ":ecdsa_backend_constraint_setting", ) alias( name = "ecdsa_backend_multiplexer", actual = select({ ":ecdsa_mbedtls_backend": ":ecdsa_mbedtls", ":ecdsa_uecc_backend": ":ecdsa_uecc", "//conditions:default": ":ecdsa_mbedtls", }), ) cc_library( name = "ecdsa_mbedtls", srcs = ["ecdsa_mbedtls.cc"], deps = [ ":ecdsa_facade", "//pw_function", "//pw_log", "@mbedtls", ], ) cc_library( name = "ecdsa_uecc", srcs = [ "ecdsa_uecc.cc", ], deps = [ ":ecdsa_facade", "//pw_log", "@micro_ecc//:uecc", ], ) pw_cc_test( name = "ecdsa_test", srcs = ["ecdsa_test.cc"], deps = [ ":ecdsa", "//pw_unit_test", ], )