blob: bae944d12c066241ed0b81b8301e3e9a64e34f61 [file] [log] [blame]
Yecheng Zhao08dd6a52021-05-10 15:50:22 -07001# Copyright 2021 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load(
16 "//pw_build:pigweed.bzl",
17 "pw_cc_facade",
18 "pw_cc_library",
Yecheng Zhao79174152021-07-22 12:52:29 -070019 "pw_cc_test",
Yecheng Zhao08dd6a52021-05-10 15:50:22 -070020)
21
22package(default_visibility = ["//visibility:public"])
23
Rob Mohr5fc25412021-06-23 09:35:23 -070024licenses(["notice"])
Yecheng Zhao08dd6a52021-05-10 15:50:22 -070025
26pw_cc_facade(
27 name = "pw_tls_client_facade",
28 hdrs = [
29 "public/pw_tls_client/options.h",
30 "public/pw_tls_client/session.h",
31 "public/pw_tls_client/status.h",
32 ],
33 includes = ["public"],
34 deps = [
35 "//pw_assert",
36 "//pw_bytes",
37 "//pw_result",
38 "//pw_status",
39 "//pw_stream",
Rob Mohrcc471b92021-06-22 07:23:55 -070040 ],
Yecheng Zhao08dd6a52021-05-10 15:50:22 -070041)
42
43pw_cc_library(
44 name = "pw_tls_client",
Rob Mohrcc471b92021-06-22 07:23:55 -070045 deps = [":pw_tls_client_facade"],
Yecheng Zhao08dd6a52021-05-10 15:50:22 -070046)
47
48# TODO(zyecheng): Add a "backend_multiplexer" target once BoringSSL/MbedTLS is
49# ready.
Yecheng Zhaoe5dbfc02021-06-07 16:38:48 -070050
51pw_cc_facade(
Yecheng Zhao3e692522021-06-28 09:09:51 -070052 name = "entropy_facade",
Yecheng Zhaoe5dbfc02021-06-07 16:38:48 -070053 hdrs = [
54 "public/pw_tls_client/entropy.h",
55 ],
56 includes = ["public"],
57 deps = [
58 "//pw_bytes",
59 "//pw_status",
Rob Mohr5d694842021-06-22 12:02:34 -070060 ],
Yecheng Zhaoe5dbfc02021-06-07 16:38:48 -070061)
Yecheng Zhao568e1652021-06-21 15:47:45 -070062
Yecheng Zhao3e692522021-06-28 09:09:51 -070063pw_cc_library(
64 name = "fake_entropy",
Rob Mohre93dc3b2021-07-12 07:28:32 -070065 srcs = ["fake_entropy.cc"],
Yecheng Zhao3e692522021-06-28 09:09:51 -070066 deps = [
Rob Mohre93dc3b2021-07-12 07:28:32 -070067 ":entropy_facade",
Yecheng Zhao3e692522021-06-28 09:09:51 -070068 ],
69)
70
Yecheng Zhao568e1652021-06-21 15:47:45 -070071# TODO(zyecheng): The target requires a build_time.h header that defines a
72# 'constexpr size_t kBuildTimeMicrosecondsUTC' variable for storing the build time.
73# In gn build, this is generated by a python action target. Need to figure out a
74# solution in bazel build.
75pw_cc_library(
76 name = "build_time",
77 srcs = [
78 "build_time.cc",
79 ],
80)
Yecheng Zhao3cdb68e2021-06-09 15:36:05 -070081
82pw_cc_library(
83 name = "crlset",
84 hdrs = ["public/pw_tls_client/crlset.h"],
85 includes = ["public"],
86 deps = [
87 "//pw_bytes",
88 ],
89)
Yecheng Zhao79174152021-07-22 12:52:29 -070090
91pw_cc_library(
92 name = "test_server",
93 srcs = ["test_server.cc"],
94 hdrs = ["public/pw_tls_client/test/test_server.h"],
95 includes = ["public"],
96)
97
98pw_cc_test(
99 name = "test_server_test",
100 srcs = ["test_server_test.cc"],
101 deps = [":test_server"],
102)