xref: /aosp_15_r20/external/open-dice/BUILD.gn (revision 60b67249c2e226f42f35cc6cfe66c6048e0bae6b)
1*60b67249SAndroid Build Coastguard Worker# Copyright 2020 Google LLC
2*60b67249SAndroid Build Coastguard Worker#
3*60b67249SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*60b67249SAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*60b67249SAndroid Build Coastguard Worker# the License at
6*60b67249SAndroid Build Coastguard Worker#
7*60b67249SAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*60b67249SAndroid Build Coastguard Worker#
9*60b67249SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*60b67249SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*60b67249SAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*60b67249SAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*60b67249SAndroid Build Coastguard Worker# the License.
14*60b67249SAndroid Build Coastguard Worker
15*60b67249SAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni")
16*60b67249SAndroid Build Coastguard Workerimport("$dir_pw_bloat/bloat.gni")
17*60b67249SAndroid Build Coastguard Workerimport("$dir_pw_build/python.gni")
18*60b67249SAndroid Build Coastguard Workerimport("$dir_pw_build/python_dist.gni")
19*60b67249SAndroid Build Coastguard Workerimport("$dir_pw_build/python_venv.gni")
20*60b67249SAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni")
21*60b67249SAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni")
22*60b67249SAndroid Build Coastguard Worker
23*60b67249SAndroid Build Coastguard Workergroup("default") {
24*60b67249SAndroid Build Coastguard Worker  deps = [
25*60b67249SAndroid Build Coastguard Worker    ":fuzzers(//toolchains:host_fuzz)",
26*60b67249SAndroid Build Coastguard Worker    ":optimized_libs(//toolchains:host_optimized)",
27*60b67249SAndroid Build Coastguard Worker    ":python.install",
28*60b67249SAndroid Build Coastguard Worker    ":tests.run(//toolchains:host_debug)",
29*60b67249SAndroid Build Coastguard Worker  ]
30*60b67249SAndroid Build Coastguard Worker}
31*60b67249SAndroid Build Coastguard Worker
32*60b67249SAndroid Build Coastguard Workerpw_source_set("cbor_writer") {
33*60b67249SAndroid Build Coastguard Worker  public = [ "include/dice/cbor_writer.h" ]
34*60b67249SAndroid Build Coastguard Worker  sources = [ "src/cbor_writer.c" ]
35*60b67249SAndroid Build Coastguard Worker}
36*60b67249SAndroid Build Coastguard Worker
37*60b67249SAndroid Build Coastguard Workerpw_source_set("cbor_reader") {
38*60b67249SAndroid Build Coastguard Worker  public = [ "include/dice/cbor_reader.h" ]
39*60b67249SAndroid Build Coastguard Worker  sources = [ "src/cbor_reader.c" ]
40*60b67249SAndroid Build Coastguard Worker}
41*60b67249SAndroid Build Coastguard Worker
42*60b67249SAndroid Build Coastguard Workerconfig("standalone_ops_config") {
43*60b67249SAndroid Build Coastguard Worker  include_dirs = [ "//include/dice/config/standalone" ]
44*60b67249SAndroid Build Coastguard Worker}
45*60b67249SAndroid Build Coastguard Worker
46*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_standalone") {
47*60b67249SAndroid Build Coastguard Worker  public = [
48*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
49*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
50*60b67249SAndroid Build Coastguard Worker  ]
51*60b67249SAndroid Build Coastguard Worker  sources = [
52*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
53*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
54*60b67249SAndroid Build Coastguard Worker  ]
55*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":standalone_ops_config" ]
56*60b67249SAndroid Build Coastguard Worker}
57*60b67249SAndroid Build Coastguard Worker
58*60b67249SAndroid Build Coastguard Workerconfig("boringssl_ed25519_ops_config") {
59*60b67249SAndroid Build Coastguard Worker  include_dirs = [ "//include/dice/config/boringssl_ed25519" ]
60*60b67249SAndroid Build Coastguard Worker}
61*60b67249SAndroid Build Coastguard Worker
62*60b67249SAndroid Build Coastguard Workerconfig("boringssl_ecdsa_p256_ops_config") {
63*60b67249SAndroid Build Coastguard Worker  include_dirs = [ "//include/dice/config/boringssl_ecdsa_p256" ]
64*60b67249SAndroid Build Coastguard Worker}
65*60b67249SAndroid Build Coastguard Worker
66*60b67249SAndroid Build Coastguard Workerconfig("boringssl_ecdsa_p384_ops_config") {
67*60b67249SAndroid Build Coastguard Worker  include_dirs = [ "//include/dice/config/boringssl_ecdsa_p384" ]
68*60b67249SAndroid Build Coastguard Worker}
69*60b67249SAndroid Build Coastguard Worker
70*60b67249SAndroid Build Coastguard Workerconfig("boringssl_multialg_ops_config") {
71*60b67249SAndroid Build Coastguard Worker  include_dirs = [ "//include/dice/config/boringssl_multialg" ]
72*60b67249SAndroid Build Coastguard Worker}
73*60b67249SAndroid Build Coastguard Worker
74*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_boringssl_ed25519_ops") {
75*60b67249SAndroid Build Coastguard Worker  public = [
76*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
77*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
78*60b67249SAndroid Build Coastguard Worker  ]
79*60b67249SAndroid Build Coastguard Worker  sources = [
80*60b67249SAndroid Build Coastguard Worker    "src/boringssl_cert_op.c",
81*60b67249SAndroid Build Coastguard Worker    "src/boringssl_ed25519_ops.c",
82*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
83*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
84*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
85*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
86*60b67249SAndroid Build Coastguard Worker  ]
87*60b67249SAndroid Build Coastguard Worker  deps = [ "//third_party/boringssl:crypto" ]
88*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
89*60b67249SAndroid Build Coastguard Worker}
90*60b67249SAndroid Build Coastguard Worker
91*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_boringssl_p256_ops") {
92*60b67249SAndroid Build Coastguard Worker  public = [
93*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
94*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
95*60b67249SAndroid Build Coastguard Worker  ]
96*60b67249SAndroid Build Coastguard Worker  sources = [
97*60b67249SAndroid Build Coastguard Worker    "src/boringssl_cert_op.c",
98*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
99*60b67249SAndroid Build Coastguard Worker    "src/boringssl_p256_ops.c",
100*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
101*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
102*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
103*60b67249SAndroid Build Coastguard Worker  ]
104*60b67249SAndroid Build Coastguard Worker  deps = [ "//third_party/boringssl:crypto" ]
105*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ecdsa_p256_ops_config" ]
106*60b67249SAndroid Build Coastguard Worker}
107*60b67249SAndroid Build Coastguard Worker
108*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_boringssl_p384_ops") {
109*60b67249SAndroid Build Coastguard Worker  public = [
110*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
111*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
112*60b67249SAndroid Build Coastguard Worker  ]
113*60b67249SAndroid Build Coastguard Worker  sources = [
114*60b67249SAndroid Build Coastguard Worker    "src/boringssl_cert_op.c",
115*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
116*60b67249SAndroid Build Coastguard Worker    "src/boringssl_p384_ops.c",
117*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
118*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
119*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
120*60b67249SAndroid Build Coastguard Worker  ]
121*60b67249SAndroid Build Coastguard Worker  deps = [ "//third_party/boringssl:crypto" ]
122*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ecdsa_p384_ops_config" ]
123*60b67249SAndroid Build Coastguard Worker}
124*60b67249SAndroid Build Coastguard Worker
125*60b67249SAndroid Build Coastguard Workerconfig("mbedtls_ops_config") {
126*60b67249SAndroid Build Coastguard Worker  include_dirs = [ "//include//dice/config/mbedtls_ecdsa_p256" ]
127*60b67249SAndroid Build Coastguard Worker  defines = [ "MBEDTLS_ALLOW_PRIVATE_ACCESS" ]
128*60b67249SAndroid Build Coastguard Worker}
129*60b67249SAndroid Build Coastguard Worker
130*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_mbedtls_ops") {
131*60b67249SAndroid Build Coastguard Worker  public = [
132*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
133*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
134*60b67249SAndroid Build Coastguard Worker  ]
135*60b67249SAndroid Build Coastguard Worker  sources = [
136*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
137*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
138*60b67249SAndroid Build Coastguard Worker    "src/mbedtls_ops.c",
139*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
140*60b67249SAndroid Build Coastguard Worker  ]
141*60b67249SAndroid Build Coastguard Worker  deps = [ "//third_party/mbedtls:mbedcrypto" ]
142*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":mbedtls_ops_config" ]
143*60b67249SAndroid Build Coastguard Worker}
144*60b67249SAndroid Build Coastguard Worker
145*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_cbor_ed25519_cert") {
146*60b67249SAndroid Build Coastguard Worker  public = [
147*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
148*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
149*60b67249SAndroid Build Coastguard Worker  ]
150*60b67249SAndroid Build Coastguard Worker  sources = [
151*60b67249SAndroid Build Coastguard Worker    "src/boringssl_ed25519_ops.c",
152*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
153*60b67249SAndroid Build Coastguard Worker    "src/cbor_cert_op.c",
154*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
155*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
156*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
157*60b67249SAndroid Build Coastguard Worker  ]
158*60b67249SAndroid Build Coastguard Worker  deps = [
159*60b67249SAndroid Build Coastguard Worker    ":cbor_writer",
160*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
161*60b67249SAndroid Build Coastguard Worker  ]
162*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
163*60b67249SAndroid Build Coastguard Worker}
164*60b67249SAndroid Build Coastguard Worker
165*60b67249SAndroid Build Coastguard Workerpw_static_library("boringssl_ecdsa_utils") {
166*60b67249SAndroid Build Coastguard Worker  public = [
167*60b67249SAndroid Build Coastguard Worker    "include/dice/boringssl_ecdsa_utils.h",
168*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
169*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
170*60b67249SAndroid Build Coastguard Worker  ]
171*60b67249SAndroid Build Coastguard Worker  sources = [ "src/boringssl_ecdsa_utils.c" ]
172*60b67249SAndroid Build Coastguard Worker  deps = [ "//third_party/boringssl:crypto" ]
173*60b67249SAndroid Build Coastguard Worker}
174*60b67249SAndroid Build Coastguard Worker
175*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_cbor_p256_cert") {
176*60b67249SAndroid Build Coastguard Worker  public = [
177*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
178*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
179*60b67249SAndroid Build Coastguard Worker  ]
180*60b67249SAndroid Build Coastguard Worker  sources = [
181*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
182*60b67249SAndroid Build Coastguard Worker    "src/boringssl_p256_ops.c",
183*60b67249SAndroid Build Coastguard Worker    "src/cbor_cert_op.c",
184*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
185*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
186*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
187*60b67249SAndroid Build Coastguard Worker  ]
188*60b67249SAndroid Build Coastguard Worker  deps = [
189*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
190*60b67249SAndroid Build Coastguard Worker    ":cbor_writer",
191*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
192*60b67249SAndroid Build Coastguard Worker  ]
193*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ecdsa_p256_ops_config" ]
194*60b67249SAndroid Build Coastguard Worker}
195*60b67249SAndroid Build Coastguard Worker
196*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_cbor_p384_cert") {
197*60b67249SAndroid Build Coastguard Worker  public = [
198*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
199*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
200*60b67249SAndroid Build Coastguard Worker  ]
201*60b67249SAndroid Build Coastguard Worker  sources = [
202*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
203*60b67249SAndroid Build Coastguard Worker    "src/boringssl_p384_ops.c",
204*60b67249SAndroid Build Coastguard Worker    "src/cbor_cert_op.c",
205*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
206*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
207*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
208*60b67249SAndroid Build Coastguard Worker  ]
209*60b67249SAndroid Build Coastguard Worker  deps = [
210*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
211*60b67249SAndroid Build Coastguard Worker    ":cbor_writer",
212*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
213*60b67249SAndroid Build Coastguard Worker  ]
214*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ecdsa_p384_ops_config" ]
215*60b67249SAndroid Build Coastguard Worker}
216*60b67249SAndroid Build Coastguard Worker
217*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_cbor_multialg") {
218*60b67249SAndroid Build Coastguard Worker  public = [
219*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
220*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
221*60b67249SAndroid Build Coastguard Worker  ]
222*60b67249SAndroid Build Coastguard Worker  sources = [
223*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
224*60b67249SAndroid Build Coastguard Worker    "src/boringssl_multialg_ops.c",
225*60b67249SAndroid Build Coastguard Worker    "src/cbor_cert_op.c",
226*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
227*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
228*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
229*60b67249SAndroid Build Coastguard Worker  ]
230*60b67249SAndroid Build Coastguard Worker  deps = [
231*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
232*60b67249SAndroid Build Coastguard Worker    ":cbor_writer",
233*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
234*60b67249SAndroid Build Coastguard Worker  ]
235*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_multialg_ops_config" ]
236*60b67249SAndroid Build Coastguard Worker}
237*60b67249SAndroid Build Coastguard Worker
238*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_cbor_template_ed25519_cert") {
239*60b67249SAndroid Build Coastguard Worker  public = [
240*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
241*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
242*60b67249SAndroid Build Coastguard Worker  ]
243*60b67249SAndroid Build Coastguard Worker  sources = [
244*60b67249SAndroid Build Coastguard Worker    "src/boringssl_ed25519_ops.c",
245*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
246*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
247*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
248*60b67249SAndroid Build Coastguard Worker    "src/template_cbor_cert_op.c",
249*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
250*60b67249SAndroid Build Coastguard Worker  ]
251*60b67249SAndroid Build Coastguard Worker  deps = [ "//third_party/boringssl:crypto" ]
252*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
253*60b67249SAndroid Build Coastguard Worker}
254*60b67249SAndroid Build Coastguard Worker
255*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_with_x509_template_cert") {
256*60b67249SAndroid Build Coastguard Worker  public = [
257*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
258*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
259*60b67249SAndroid Build Coastguard Worker  ]
260*60b67249SAndroid Build Coastguard Worker  sources = [
261*60b67249SAndroid Build Coastguard Worker    "src/boringssl_ed25519_ops.c",
262*60b67249SAndroid Build Coastguard Worker    "src/boringssl_hash_kdf_ops.c",
263*60b67249SAndroid Build Coastguard Worker    "src/clear_memory.c",
264*60b67249SAndroid Build Coastguard Worker    "src/dice.c",
265*60b67249SAndroid Build Coastguard Worker    "src/template_cert_op.c",
266*60b67249SAndroid Build Coastguard Worker    "src/utils.c",
267*60b67249SAndroid Build Coastguard Worker  ]
268*60b67249SAndroid Build Coastguard Worker  deps = [ "//third_party/boringssl:crypto" ]
269*60b67249SAndroid Build Coastguard Worker  all_dependent_configs = [ ":boringssl_ed25519_ops_config" ]
270*60b67249SAndroid Build Coastguard Worker}
271*60b67249SAndroid Build Coastguard Worker
272*60b67249SAndroid Build Coastguard Workerpw_source_set("fuzzer") {
273*60b67249SAndroid Build Coastguard Worker  public = [
274*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
275*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
276*60b67249SAndroid Build Coastguard Worker  ]
277*60b67249SAndroid Build Coastguard Worker  sources = [ "src/fuzzer.cc" ]
278*60b67249SAndroid Build Coastguard Worker}
279*60b67249SAndroid Build Coastguard Worker
280*60b67249SAndroid Build Coastguard Workerpw_test("cbor_writer_test") {
281*60b67249SAndroid Build Coastguard Worker  sources = [ "src/cbor_writer_test.cc" ]
282*60b67249SAndroid Build Coastguard Worker  deps = [ ":cbor_writer" ]
283*60b67249SAndroid Build Coastguard Worker}
284*60b67249SAndroid Build Coastguard Worker
285*60b67249SAndroid Build Coastguard Workerpw_test("cbor_reader_test") {
286*60b67249SAndroid Build Coastguard Worker  sources = [ "src/cbor_reader_test.cc" ]
287*60b67249SAndroid Build Coastguard Worker  deps = [ ":cbor_reader" ]
288*60b67249SAndroid Build Coastguard Worker}
289*60b67249SAndroid Build Coastguard Worker
290*60b67249SAndroid Build Coastguard Workerpw_executable("cbor_writer_fuzzer") {
291*60b67249SAndroid Build Coastguard Worker  sources = [ "src/cbor_writer_fuzzer.cc" ]
292*60b67249SAndroid Build Coastguard Worker  deps = [ ":cbor_writer" ]
293*60b67249SAndroid Build Coastguard Worker}
294*60b67249SAndroid Build Coastguard Worker
295*60b67249SAndroid Build Coastguard Workerpw_executable("cbor_reader_fuzzer") {
296*60b67249SAndroid Build Coastguard Worker  sources = [ "src/cbor_reader_fuzzer.cc" ]
297*60b67249SAndroid Build Coastguard Worker  deps = [ ":cbor_reader" ]
298*60b67249SAndroid Build Coastguard Worker}
299*60b67249SAndroid Build Coastguard Worker
300*60b67249SAndroid Build Coastguard Workerpw_test("dice_test") {
301*60b67249SAndroid Build Coastguard Worker  sources = [ "src/dice_test.cc" ]
302*60b67249SAndroid Build Coastguard Worker  deps = [
303*60b67249SAndroid Build Coastguard Worker    ":dice_standalone",
304*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
305*60b67249SAndroid Build Coastguard Worker  ]
306*60b67249SAndroid Build Coastguard Worker}
307*60b67249SAndroid Build Coastguard Worker
308*60b67249SAndroid Build Coastguard Workerpw_test("boringssl_ed25519_ops_test") {
309*60b67249SAndroid Build Coastguard Worker  sources = [
310*60b67249SAndroid Build Coastguard Worker    "src/boringssl_ed25519_ops_test.cc",
311*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
312*60b67249SAndroid Build Coastguard Worker  ]
313*60b67249SAndroid Build Coastguard Worker  deps = [
314*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
315*60b67249SAndroid Build Coastguard Worker    ":dice_with_boringssl_ed25519_ops",
316*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
317*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
318*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_ed25519",
319*60b67249SAndroid Build Coastguard Worker  ]
320*60b67249SAndroid Build Coastguard Worker}
321*60b67249SAndroid Build Coastguard Worker
322*60b67249SAndroid Build Coastguard Workerpw_executable("boringssl_ed25519_ops_fuzzer") {
323*60b67249SAndroid Build Coastguard Worker  deps = [
324*60b67249SAndroid Build Coastguard Worker    ":dice_with_boringssl_ed25519_ops",
325*60b67249SAndroid Build Coastguard Worker    ":fuzzer",
326*60b67249SAndroid Build Coastguard Worker  ]
327*60b67249SAndroid Build Coastguard Worker}
328*60b67249SAndroid Build Coastguard Worker
329*60b67249SAndroid Build Coastguard Workerpw_executable("boringssl_p256_ops_fuzzer") {
330*60b67249SAndroid Build Coastguard Worker  deps = [
331*60b67249SAndroid Build Coastguard Worker    ":dice_with_boringssl_p256_ops",
332*60b67249SAndroid Build Coastguard Worker    ":fuzzer",
333*60b67249SAndroid Build Coastguard Worker  ]
334*60b67249SAndroid Build Coastguard Worker}
335*60b67249SAndroid Build Coastguard Worker
336*60b67249SAndroid Build Coastguard Workerpw_executable("boringssl_p384_ops_fuzzer") {
337*60b67249SAndroid Build Coastguard Worker  deps = [
338*60b67249SAndroid Build Coastguard Worker    ":dice_with_boringssl_p384_ops",
339*60b67249SAndroid Build Coastguard Worker    ":fuzzer",
340*60b67249SAndroid Build Coastguard Worker  ]
341*60b67249SAndroid Build Coastguard Worker}
342*60b67249SAndroid Build Coastguard Worker
343*60b67249SAndroid Build Coastguard Workerpw_test("template_cert_op_test") {
344*60b67249SAndroid Build Coastguard Worker  sources = [
345*60b67249SAndroid Build Coastguard Worker    "src/template_cert_op_test.cc",
346*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
347*60b67249SAndroid Build Coastguard Worker  ]
348*60b67249SAndroid Build Coastguard Worker  deps = [
349*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
350*60b67249SAndroid Build Coastguard Worker    ":dice_with_x509_template_cert",
351*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
352*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
353*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_ed25519",
354*60b67249SAndroid Build Coastguard Worker  ]
355*60b67249SAndroid Build Coastguard Worker}
356*60b67249SAndroid Build Coastguard Worker
357*60b67249SAndroid Build Coastguard Workerpw_executable("template_cert_op_fuzzer") {
358*60b67249SAndroid Build Coastguard Worker  deps = [
359*60b67249SAndroid Build Coastguard Worker    ":dice_with_x509_template_cert",
360*60b67249SAndroid Build Coastguard Worker    ":fuzzer",
361*60b67249SAndroid Build Coastguard Worker  ]
362*60b67249SAndroid Build Coastguard Worker}
363*60b67249SAndroid Build Coastguard Worker
364*60b67249SAndroid Build Coastguard Workerpw_test("cbor_ed25519_cert_op_test") {
365*60b67249SAndroid Build Coastguard Worker  sources = [
366*60b67249SAndroid Build Coastguard Worker    "src/cbor_cert_op_test.cc",
367*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
368*60b67249SAndroid Build Coastguard Worker  ]
369*60b67249SAndroid Build Coastguard Worker  deps = [
370*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
371*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_ed25519_cert",
372*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
373*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
374*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_ed25519",
375*60b67249SAndroid Build Coastguard Worker  ]
376*60b67249SAndroid Build Coastguard Worker}
377*60b67249SAndroid Build Coastguard Worker
378*60b67249SAndroid Build Coastguard Workerpw_test("cbor_p256_cert_op_test") {
379*60b67249SAndroid Build Coastguard Worker  sources = [
380*60b67249SAndroid Build Coastguard Worker    "src/cbor_p256_cert_op_test.cc",
381*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
382*60b67249SAndroid Build Coastguard Worker  ]
383*60b67249SAndroid Build Coastguard Worker  deps = [
384*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
385*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_p256_cert",
386*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
387*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
388*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_p256",
389*60b67249SAndroid Build Coastguard Worker  ]
390*60b67249SAndroid Build Coastguard Worker}
391*60b67249SAndroid Build Coastguard Worker
392*60b67249SAndroid Build Coastguard Workerpw_test("cbor_p384_cert_op_test") {
393*60b67249SAndroid Build Coastguard Worker  sources = [
394*60b67249SAndroid Build Coastguard Worker    "src/cbor_p384_cert_op_test.cc",
395*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
396*60b67249SAndroid Build Coastguard Worker  ]
397*60b67249SAndroid Build Coastguard Worker  deps = [
398*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
399*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_p384_cert",
400*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
401*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
402*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_p384",
403*60b67249SAndroid Build Coastguard Worker  ]
404*60b67249SAndroid Build Coastguard Worker}
405*60b67249SAndroid Build Coastguard Worker
406*60b67249SAndroid Build Coastguard Workerpw_test("cbor_multialg_op_test") {
407*60b67249SAndroid Build Coastguard Worker  sources = [
408*60b67249SAndroid Build Coastguard Worker    "src/cbor_multialg_op_test.cc",
409*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
410*60b67249SAndroid Build Coastguard Worker  ]
411*60b67249SAndroid Build Coastguard Worker  deps = [
412*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
413*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_multialg",
414*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
415*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
416*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_multialg",
417*60b67249SAndroid Build Coastguard Worker  ]
418*60b67249SAndroid Build Coastguard Worker}
419*60b67249SAndroid Build Coastguard Worker
420*60b67249SAndroid Build Coastguard Workerpw_executable("cbor_ed25519_cert_op_fuzzer") {
421*60b67249SAndroid Build Coastguard Worker  deps = [
422*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_ed25519_cert",
423*60b67249SAndroid Build Coastguard Worker    ":fuzzer",
424*60b67249SAndroid Build Coastguard Worker  ]
425*60b67249SAndroid Build Coastguard Worker}
426*60b67249SAndroid Build Coastguard Worker
427*60b67249SAndroid Build Coastguard Workerpw_test("template_cbor_ed25519_cert_op_test") {
428*60b67249SAndroid Build Coastguard Worker  sources = [
429*60b67249SAndroid Build Coastguard Worker    "src/template_cbor_cert_op_test.cc",
430*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
431*60b67249SAndroid Build Coastguard Worker  ]
432*60b67249SAndroid Build Coastguard Worker  deps = [
433*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
434*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_template_ed25519_cert",
435*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
436*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
437*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_ed25519",
438*60b67249SAndroid Build Coastguard Worker  ]
439*60b67249SAndroid Build Coastguard Worker}
440*60b67249SAndroid Build Coastguard Worker
441*60b67249SAndroid Build Coastguard Workerpw_executable("template_cbor_ed25519_cert_op_fuzzer") {
442*60b67249SAndroid Build Coastguard Worker  deps = [
443*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_template_ed25519_cert",
444*60b67249SAndroid Build Coastguard Worker    ":fuzzer",
445*60b67249SAndroid Build Coastguard Worker  ]
446*60b67249SAndroid Build Coastguard Worker}
447*60b67249SAndroid Build Coastguard Worker
448*60b67249SAndroid Build Coastguard Workerpw_test("mbedtls_ops_test") {
449*60b67249SAndroid Build Coastguard Worker  sources = [
450*60b67249SAndroid Build Coastguard Worker    "src/mbedtls_ops_test.cc",
451*60b67249SAndroid Build Coastguard Worker    "src/test_utils.cc",
452*60b67249SAndroid Build Coastguard Worker  ]
453*60b67249SAndroid Build Coastguard Worker  deps = [
454*60b67249SAndroid Build Coastguard Worker    ":boringssl_ecdsa_utils",
455*60b67249SAndroid Build Coastguard Worker    ":dice_with_mbedtls_ops",
456*60b67249SAndroid Build Coastguard Worker    "$dir_pw_string:pw_string",
457*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
458*60b67249SAndroid Build Coastguard Worker    "//third_party/cose-c:cose-c_ed25519",
459*60b67249SAndroid Build Coastguard Worker  ]
460*60b67249SAndroid Build Coastguard Worker}
461*60b67249SAndroid Build Coastguard Worker
462*60b67249SAndroid Build Coastguard Workerpw_executable("mbedtls_ops_fuzzer") {
463*60b67249SAndroid Build Coastguard Worker  deps = [
464*60b67249SAndroid Build Coastguard Worker    ":dice_with_mbedtls_ops",
465*60b67249SAndroid Build Coastguard Worker    ":fuzzer",
466*60b67249SAndroid Build Coastguard Worker  ]
467*60b67249SAndroid Build Coastguard Worker}
468*60b67249SAndroid Build Coastguard Worker
469*60b67249SAndroid Build Coastguard Workerpw_static_library("dice_android") {
470*60b67249SAndroid Build Coastguard Worker  public = [
471*60b67249SAndroid Build Coastguard Worker    "//include/dice/dice.h",
472*60b67249SAndroid Build Coastguard Worker    "//include/dice/utils.h",
473*60b67249SAndroid Build Coastguard Worker  ]
474*60b67249SAndroid Build Coastguard Worker  sources = [ "src/android.c" ]
475*60b67249SAndroid Build Coastguard Worker  deps = [
476*60b67249SAndroid Build Coastguard Worker    ":cbor_reader",
477*60b67249SAndroid Build Coastguard Worker    ":cbor_writer",
478*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_ed25519_cert",
479*60b67249SAndroid Build Coastguard Worker  ]
480*60b67249SAndroid Build Coastguard Worker}
481*60b67249SAndroid Build Coastguard Worker
482*60b67249SAndroid Build Coastguard Workerpw_test("android_test") {
483*60b67249SAndroid Build Coastguard Worker  sources = [ "src/android_test.cc" ]
484*60b67249SAndroid Build Coastguard Worker  deps = [ ":dice_android" ]
485*60b67249SAndroid Build Coastguard Worker}
486*60b67249SAndroid Build Coastguard Worker
487*60b67249SAndroid Build Coastguard Workerpw_executable("android_fuzzer") {
488*60b67249SAndroid Build Coastguard Worker  sources = [ "src/android_fuzzer.cc" ]
489*60b67249SAndroid Build Coastguard Worker  deps = [ ":dice_android" ]
490*60b67249SAndroid Build Coastguard Worker}
491*60b67249SAndroid Build Coastguard Worker
492*60b67249SAndroid Build Coastguard Workerpw_test_group("tests") {
493*60b67249SAndroid Build Coastguard Worker  tests = [
494*60b67249SAndroid Build Coastguard Worker    ":android_test",
495*60b67249SAndroid Build Coastguard Worker    ":boringssl_ed25519_ops_test",
496*60b67249SAndroid Build Coastguard Worker    ":cbor_ed25519_cert_op_test",
497*60b67249SAndroid Build Coastguard Worker    ":cbor_p256_cert_op_test",
498*60b67249SAndroid Build Coastguard Worker    ":cbor_p384_cert_op_test",
499*60b67249SAndroid Build Coastguard Worker    ":cbor_multialg_op_test",
500*60b67249SAndroid Build Coastguard Worker    ":cbor_reader_test",
501*60b67249SAndroid Build Coastguard Worker    ":cbor_writer_test",
502*60b67249SAndroid Build Coastguard Worker    ":dice_test",
503*60b67249SAndroid Build Coastguard Worker    ":mbedtls_ops_test",
504*60b67249SAndroid Build Coastguard Worker    ":template_cbor_ed25519_cert_op_test",
505*60b67249SAndroid Build Coastguard Worker    ":template_cert_op_test",
506*60b67249SAndroid Build Coastguard Worker  ]
507*60b67249SAndroid Build Coastguard Worker}
508*60b67249SAndroid Build Coastguard Worker
509*60b67249SAndroid Build Coastguard Workergroup("fuzzers") {
510*60b67249SAndroid Build Coastguard Worker  deps = [
511*60b67249SAndroid Build Coastguard Worker    ":android_fuzzer",
512*60b67249SAndroid Build Coastguard Worker    ":boringssl_ed25519_ops_fuzzer",
513*60b67249SAndroid Build Coastguard Worker    ":boringssl_p256_ops_fuzzer",
514*60b67249SAndroid Build Coastguard Worker    ":boringssl_p384_ops_fuzzer",
515*60b67249SAndroid Build Coastguard Worker    ":cbor_ed25519_cert_op_fuzzer",
516*60b67249SAndroid Build Coastguard Worker    ":cbor_reader_fuzzer",
517*60b67249SAndroid Build Coastguard Worker    ":cbor_writer_fuzzer",
518*60b67249SAndroid Build Coastguard Worker    ":mbedtls_ops_fuzzer",
519*60b67249SAndroid Build Coastguard Worker    ":template_cbor_ed25519_cert_op_fuzzer",
520*60b67249SAndroid Build Coastguard Worker    ":template_cert_op_fuzzer",
521*60b67249SAndroid Build Coastguard Worker  ]
522*60b67249SAndroid Build Coastguard Worker}
523*60b67249SAndroid Build Coastguard Worker
524*60b67249SAndroid Build Coastguard Workerpw_static_library("empty_lib") {
525*60b67249SAndroid Build Coastguard Worker}
526*60b67249SAndroid Build Coastguard Worker
527*60b67249SAndroid Build Coastguard Workerpw_executable("empty_main") {
528*60b67249SAndroid Build Coastguard Worker  sources = [ "src/empty_main.c" ]
529*60b67249SAndroid Build Coastguard Worker}
530*60b67249SAndroid Build Coastguard Worker
531*60b67249SAndroid Build Coastguard Workerpw_executable("dice_standalone_main") {
532*60b67249SAndroid Build Coastguard Worker  sources = [ "src/dice_standalone_main.c" ]
533*60b67249SAndroid Build Coastguard Worker  deps = [ ":dice_standalone" ]
534*60b67249SAndroid Build Coastguard Worker}
535*60b67249SAndroid Build Coastguard Worker
536*60b67249SAndroid Build Coastguard Workerpw_source_set("dice_main") {
537*60b67249SAndroid Build Coastguard Worker  public = [
538*60b67249SAndroid Build Coastguard Worker    "include/dice/dice.h",
539*60b67249SAndroid Build Coastguard Worker    "include/dice/utils.h",
540*60b67249SAndroid Build Coastguard Worker  ]
541*60b67249SAndroid Build Coastguard Worker  sources = [ "src/dice_main.c" ]
542*60b67249SAndroid Build Coastguard Worker}
543*60b67249SAndroid Build Coastguard Worker
544*60b67249SAndroid Build Coastguard Workerpw_executable("dice_with_boringssl_ed25519_ops_main") {
545*60b67249SAndroid Build Coastguard Worker  deps = [
546*60b67249SAndroid Build Coastguard Worker    ":dice_main",
547*60b67249SAndroid Build Coastguard Worker    ":dice_with_boringssl_ed25519_ops",
548*60b67249SAndroid Build Coastguard Worker  ]
549*60b67249SAndroid Build Coastguard Worker}
550*60b67249SAndroid Build Coastguard Worker
551*60b67249SAndroid Build Coastguard Workerpw_executable("dice_with_mbedtls_ops_main") {
552*60b67249SAndroid Build Coastguard Worker  deps = [
553*60b67249SAndroid Build Coastguard Worker    ":dice_main",
554*60b67249SAndroid Build Coastguard Worker    ":dice_with_mbedtls_ops",
555*60b67249SAndroid Build Coastguard Worker  ]
556*60b67249SAndroid Build Coastguard Worker}
557*60b67249SAndroid Build Coastguard Worker
558*60b67249SAndroid Build Coastguard Workerpw_executable("dice_with_cbor_cert_main") {
559*60b67249SAndroid Build Coastguard Worker  deps = [
560*60b67249SAndroid Build Coastguard Worker    ":dice_main",
561*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_ed25519_cert",
562*60b67249SAndroid Build Coastguard Worker  ]
563*60b67249SAndroid Build Coastguard Worker}
564*60b67249SAndroid Build Coastguard Worker
565*60b67249SAndroid Build Coastguard Workerpw_executable("dice_with_cbor_template_ed25519_cert_main") {
566*60b67249SAndroid Build Coastguard Worker  deps = [
567*60b67249SAndroid Build Coastguard Worker    ":dice_main",
568*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_template_ed25519_cert",
569*60b67249SAndroid Build Coastguard Worker  ]
570*60b67249SAndroid Build Coastguard Worker}
571*60b67249SAndroid Build Coastguard Worker
572*60b67249SAndroid Build Coastguard Workerpw_executable("dice_with_x509_template_cert_main") {
573*60b67249SAndroid Build Coastguard Worker  deps = [
574*60b67249SAndroid Build Coastguard Worker    ":dice_main",
575*60b67249SAndroid Build Coastguard Worker    ":dice_with_x509_template_cert",
576*60b67249SAndroid Build Coastguard Worker  ]
577*60b67249SAndroid Build Coastguard Worker}
578*60b67249SAndroid Build Coastguard Worker
579*60b67249SAndroid Build Coastguard Workerpw_size_diff("executable_size_report") {
580*60b67249SAndroid Build Coastguard Worker  title = "Executable sizes (includes thirdparty deps)"
581*60b67249SAndroid Build Coastguard Worker  base = ":empty_main"
582*60b67249SAndroid Build Coastguard Worker  binaries = [
583*60b67249SAndroid Build Coastguard Worker    {
584*60b67249SAndroid Build Coastguard Worker      target = ":dice_standalone_main"
585*60b67249SAndroid Build Coastguard Worker      label = "DiceMainFlow only (No Ops)"
586*60b67249SAndroid Build Coastguard Worker    },
587*60b67249SAndroid Build Coastguard Worker    {
588*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_boringssl_ed25519_ops_main"
589*60b67249SAndroid Build Coastguard Worker      label = "Boringssl Ed25519 Ops"
590*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone_main"
591*60b67249SAndroid Build Coastguard Worker    },
592*60b67249SAndroid Build Coastguard Worker    {
593*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_mbedtls_ops_main"
594*60b67249SAndroid Build Coastguard Worker      label = "MbedTLS Ops"
595*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone_main"
596*60b67249SAndroid Build Coastguard Worker    },
597*60b67249SAndroid Build Coastguard Worker    {
598*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_cbor_cert_main"
599*60b67249SAndroid Build Coastguard Worker      label = "Boringssl with CBOR Cert"
600*60b67249SAndroid Build Coastguard Worker      base = ":dice_with_boringssl_ed25519_ops_main"
601*60b67249SAndroid Build Coastguard Worker    },
602*60b67249SAndroid Build Coastguard Worker    {
603*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_cbor_template_ed25519_cert_main"
604*60b67249SAndroid Build Coastguard Worker      label = "Boringssl with CBOR Template Ed25519 Cert"
605*60b67249SAndroid Build Coastguard Worker      base = ":dice_with_boringssl_ed25519_ops_main"
606*60b67249SAndroid Build Coastguard Worker    },
607*60b67249SAndroid Build Coastguard Worker    {
608*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_x509_template_cert_main"
609*60b67249SAndroid Build Coastguard Worker      label = "Boringssl with X.509 Template Cert"
610*60b67249SAndroid Build Coastguard Worker      base = ":dice_with_boringssl_ed25519_ops_main"
611*60b67249SAndroid Build Coastguard Worker    },
612*60b67249SAndroid Build Coastguard Worker  ]
613*60b67249SAndroid Build Coastguard Worker}
614*60b67249SAndroid Build Coastguard Worker
615*60b67249SAndroid Build Coastguard Workerpw_size_diff("library_size_report") {
616*60b67249SAndroid Build Coastguard Worker  title = "Library sizes (excludes thirdparty deps)"
617*60b67249SAndroid Build Coastguard Worker  base = ":empty_lib"
618*60b67249SAndroid Build Coastguard Worker  binaries = [
619*60b67249SAndroid Build Coastguard Worker    {
620*60b67249SAndroid Build Coastguard Worker      target = ":dice_standalone"
621*60b67249SAndroid Build Coastguard Worker      label = "DICE Standalone (No Ops)"
622*60b67249SAndroid Build Coastguard Worker    },
623*60b67249SAndroid Build Coastguard Worker    {
624*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_boringssl_ed25519_ops"
625*60b67249SAndroid Build Coastguard Worker      label = "Boringssl Ops"
626*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
627*60b67249SAndroid Build Coastguard Worker    },
628*60b67249SAndroid Build Coastguard Worker    {
629*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_mbedtls_ops"
630*60b67249SAndroid Build Coastguard Worker      label = "MbedTLS Ops"
631*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
632*60b67249SAndroid Build Coastguard Worker    },
633*60b67249SAndroid Build Coastguard Worker    {
634*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_cbor_ed25519_cert"
635*60b67249SAndroid Build Coastguard Worker      label = "CBOR Cert"
636*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
637*60b67249SAndroid Build Coastguard Worker    },
638*60b67249SAndroid Build Coastguard Worker    {
639*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_cbor_p256_cert"
640*60b67249SAndroid Build Coastguard Worker      label = "CBOR P256 Cert"
641*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
642*60b67249SAndroid Build Coastguard Worker    },
643*60b67249SAndroid Build Coastguard Worker    {
644*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_cbor_p384_cert"
645*60b67249SAndroid Build Coastguard Worker      label = "CBOR P384 Cert"
646*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
647*60b67249SAndroid Build Coastguard Worker    },
648*60b67249SAndroid Build Coastguard Worker    {
649*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_cbor_multialg"
650*60b67249SAndroid Build Coastguard Worker      label = "CBOR Multi-Alg"
651*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
652*60b67249SAndroid Build Coastguard Worker    },
653*60b67249SAndroid Build Coastguard Worker    {
654*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_cbor_template_ed25519_cert"
655*60b67249SAndroid Build Coastguard Worker      label = "CBOR Template Cert"
656*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
657*60b67249SAndroid Build Coastguard Worker    },
658*60b67249SAndroid Build Coastguard Worker    {
659*60b67249SAndroid Build Coastguard Worker      target = ":dice_with_x509_template_cert"
660*60b67249SAndroid Build Coastguard Worker      label = "X.509 Template Cert"
661*60b67249SAndroid Build Coastguard Worker      base = ":dice_standalone"
662*60b67249SAndroid Build Coastguard Worker    },
663*60b67249SAndroid Build Coastguard Worker  ]
664*60b67249SAndroid Build Coastguard Worker}
665*60b67249SAndroid Build Coastguard Worker
666*60b67249SAndroid Build Coastguard Workergroup("optimized_libs") {
667*60b67249SAndroid Build Coastguard Worker  deps = [
668*60b67249SAndroid Build Coastguard Worker    ":dice_android",
669*60b67249SAndroid Build Coastguard Worker    ":dice_standalone",
670*60b67249SAndroid Build Coastguard Worker    ":dice_with_boringssl_ed25519_ops",
671*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_ed25519_cert",
672*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_multialg",
673*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_p256_cert",
674*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_p384_cert",
675*60b67249SAndroid Build Coastguard Worker    ":dice_with_cbor_template_ed25519_cert",
676*60b67249SAndroid Build Coastguard Worker    ":dice_with_mbedtls_ops",
677*60b67249SAndroid Build Coastguard Worker    ":dice_with_x509_template_cert",
678*60b67249SAndroid Build Coastguard Worker    ":executable_size_report",
679*60b67249SAndroid Build Coastguard Worker    ":library_size_report",
680*60b67249SAndroid Build Coastguard Worker  ]
681*60b67249SAndroid Build Coastguard Worker}
682*60b67249SAndroid Build Coastguard Worker
683*60b67249SAndroid Build Coastguard Worker# This group is built during bootstrap to setup the interactive Python
684*60b67249SAndroid Build Coastguard Worker# environment.
685*60b67249SAndroid Build Coastguard Workerpw_python_group("python") {
686*60b67249SAndroid Build Coastguard Worker  python_deps = [ ":pip_install_open_dice_tools" ]
687*60b67249SAndroid Build Coastguard Worker}
688*60b67249SAndroid Build Coastguard Worker
689*60b67249SAndroid Build Coastguard Worker# In-tree Python packages
690*60b67249SAndroid Build Coastguard Worker_open_dice_python_packages = [ "//tools:tools" ]
691*60b67249SAndroid Build Coastguard Worker
692*60b67249SAndroid Build Coastguard Worker# Pigweed Python packages to include
693*60b67249SAndroid Build Coastguard Worker_pigweed_python_packages = [ "$dir_pw_env_setup:core_pigweed_python_packages" ]
694*60b67249SAndroid Build Coastguard Worker
695*60b67249SAndroid Build Coastguard Worker_all_python_packages = _open_dice_python_packages + _pigweed_python_packages
696*60b67249SAndroid Build Coastguard Worker
697*60b67249SAndroid Build Coastguard Worker# The default venv for Python actions in GN
698*60b67249SAndroid Build Coastguard Worker# Set this gn arg in a declare_args block in this file 'BUILD.gn' or in '.gn' to
699*60b67249SAndroid Build Coastguard Worker# use this venv.
700*60b67249SAndroid Build Coastguard Worker#
701*60b67249SAndroid Build Coastguard Worker#   pw_build_PYTHON_BUILD_VENV = "//:open_dice_build_venv"
702*60b67249SAndroid Build Coastguard Worker#
703*60b67249SAndroid Build Coastguard Workerpw_python_venv("open_dice_build_venv") {
704*60b67249SAndroid Build Coastguard Worker  path = "$root_build_dir/python-venv"
705*60b67249SAndroid Build Coastguard Worker  constraints = pw_build_PIP_CONSTRAINTS
706*60b67249SAndroid Build Coastguard Worker  requirements = pw_build_PIP_REQUIREMENTS
707*60b67249SAndroid Build Coastguard Worker
708*60b67249SAndroid Build Coastguard Worker  # Ensure all third party Python dependencies are installed into this venv.
709*60b67249SAndroid Build Coastguard Worker  # This works by checking the setup.cfg files for all packages listed here and
710*60b67249SAndroid Build Coastguard Worker  # installing the packages listed in the [options].install_requires field.
711*60b67249SAndroid Build Coastguard Worker  source_packages = _all_python_packages
712*60b67249SAndroid Build Coastguard Worker}
713*60b67249SAndroid Build Coastguard Worker
714*60b67249SAndroid Build Coastguard Worker# This template collects all python packages and their dependencies into a
715*60b67249SAndroid Build Coastguard Worker# single super Python package for installation into the bootstrapped virtual
716*60b67249SAndroid Build Coastguard Worker# environment.
717*60b67249SAndroid Build Coastguard Workerpw_python_distribution("generate_open_dice_tools_python_distribution") {
718*60b67249SAndroid Build Coastguard Worker  packages = _all_python_packages
719*60b67249SAndroid Build Coastguard Worker  generate_setup_cfg = {
720*60b67249SAndroid Build Coastguard Worker    name = "open-dice-tools"
721*60b67249SAndroid Build Coastguard Worker    version = "0.0.1"
722*60b67249SAndroid Build Coastguard Worker    append_date_to_version = true
723*60b67249SAndroid Build Coastguard Worker    include_default_pyproject_file = true
724*60b67249SAndroid Build Coastguard Worker  }
725*60b67249SAndroid Build Coastguard Worker}
726*60b67249SAndroid Build Coastguard Worker
727*60b67249SAndroid Build Coastguard Worker# Install the open-dice-tools super Python package into the bootstrapped Python
728*60b67249SAndroid Build Coastguard Worker# venv.
729*60b67249SAndroid Build Coastguard Workerpw_internal_pip_install("pip_install_open_dice_tools") {
730*60b67249SAndroid Build Coastguard Worker  packages = [ ":generate_open_dice_tools_python_distribution" ]
731*60b67249SAndroid Build Coastguard Worker}
732