1*61c4878aSAndroid Build Coastguard Worker# Copyright 2023 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/input_group.gni") 18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/module_config.gni") 19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni") 20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni") 21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_fuzzer/fuzzer.gni") 22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_perf_test/perf_test.gni") 23*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_protobuf_compiler/proto.gni") 24*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/facade_test.gni") 25*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni") 26*61c4878aSAndroid Build Coastguard Worker 27*61c4878aSAndroid Build Coastguard Workerdeclare_args() { 28*61c4878aSAndroid Build Coastguard Worker # The build target that overrides the default configuration options for this 29*61c4878aSAndroid Build Coastguard Worker # module. This should point to a source set that provides defines through a 30*61c4878aSAndroid Build Coastguard Worker # public config (which may -include a file or add defines directly). 31*61c4878aSAndroid Build Coastguard Worker pw_protobuf_CONFIG = pw_build_DEFAULT_MODULE_CONFIG 32*61c4878aSAndroid Build Coastguard Worker} 33*61c4878aSAndroid Build Coastguard Worker 34*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") { 35*61c4878aSAndroid Build Coastguard Worker include_dirs = [ "public" ] 36*61c4878aSAndroid Build Coastguard Worker} 37*61c4878aSAndroid Build Coastguard Worker 38*61c4878aSAndroid Build Coastguard Workerpw_source_set("config") { 39*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_protobuf/config.h" ] 40*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 41*61c4878aSAndroid Build Coastguard Worker public_deps = [ pw_protobuf_CONFIG ] 42*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 43*61c4878aSAndroid Build Coastguard Worker} 44*61c4878aSAndroid Build Coastguard Worker 45*61c4878aSAndroid Build Coastguard Workerpw_source_set("pw_protobuf") { 46*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 47*61c4878aSAndroid Build Coastguard Worker public_deps = [ 48*61c4878aSAndroid Build Coastguard Worker ":config", 49*61c4878aSAndroid Build Coastguard Worker "$dir_pw_bytes:bit", 50*61c4878aSAndroid Build Coastguard Worker "$dir_pw_containers:vector", 51*61c4878aSAndroid Build Coastguard Worker "$dir_pw_stream:interval_reader", 52*61c4878aSAndroid Build Coastguard Worker "$dir_pw_string:string", 53*61c4878aSAndroid Build Coastguard Worker "$dir_pw_toolchain:sibling_cast", 54*61c4878aSAndroid Build Coastguard Worker "$dir_pw_varint:stream", 55*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 56*61c4878aSAndroid Build Coastguard Worker dir_pw_bytes, 57*61c4878aSAndroid Build Coastguard Worker dir_pw_function, 58*61c4878aSAndroid Build Coastguard Worker dir_pw_log, 59*61c4878aSAndroid Build Coastguard Worker dir_pw_preprocessor, 60*61c4878aSAndroid Build Coastguard Worker dir_pw_result, 61*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 62*61c4878aSAndroid Build Coastguard Worker dir_pw_status, 63*61c4878aSAndroid Build Coastguard Worker dir_pw_stream, 64*61c4878aSAndroid Build Coastguard Worker dir_pw_varint, 65*61c4878aSAndroid Build Coastguard Worker ] 66*61c4878aSAndroid Build Coastguard Worker public = [ 67*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/decoder.h", 68*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/encoder.h", 69*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/find.h", 70*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/internal/codegen.h", 71*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/internal/proto_integer_base.h", 72*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/map_utils.h", 73*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/message.h", 74*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/serialized_size.h", 75*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/stream_decoder.h", 76*61c4878aSAndroid Build Coastguard Worker "public/pw_protobuf/wire_format.h", 77*61c4878aSAndroid Build Coastguard Worker ] 78*61c4878aSAndroid Build Coastguard Worker sources = [ 79*61c4878aSAndroid Build Coastguard Worker "decoder.cc", 80*61c4878aSAndroid Build Coastguard Worker "encoder.cc", 81*61c4878aSAndroid Build Coastguard Worker "find.cc", 82*61c4878aSAndroid Build Coastguard Worker "map_utils.cc", 83*61c4878aSAndroid Build Coastguard Worker "message.cc", 84*61c4878aSAndroid Build Coastguard Worker "stream_decoder.cc", 85*61c4878aSAndroid Build Coastguard Worker ] 86*61c4878aSAndroid Build Coastguard Worker} 87*61c4878aSAndroid Build Coastguard Worker 88*61c4878aSAndroid Build Coastguard Workerpw_source_set("bytes_utils") { 89*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 90*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_protobuf/bytes_utils.h" ] 91*61c4878aSAndroid Build Coastguard Worker public_deps = [ 92*61c4878aSAndroid Build Coastguard Worker ":pw_protobuf", 93*61c4878aSAndroid Build Coastguard Worker dir_pw_bytes, 94*61c4878aSAndroid Build Coastguard Worker dir_pw_result, 95*61c4878aSAndroid Build Coastguard Worker dir_pw_status, 96*61c4878aSAndroid Build Coastguard Worker ] 97*61c4878aSAndroid Build Coastguard Worker} 98*61c4878aSAndroid Build Coastguard Worker 99*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") { 100*61c4878aSAndroid Build Coastguard Worker sources = [ 101*61c4878aSAndroid Build Coastguard Worker "docs.rst", 102*61c4878aSAndroid Build Coastguard Worker "size_report.rst", 103*61c4878aSAndroid Build Coastguard Worker ] 104*61c4878aSAndroid Build Coastguard Worker inputs = [ 105*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/size_report.pwpb_options", 106*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/size_report.proto", 107*61c4878aSAndroid Build Coastguard Worker ] 108*61c4878aSAndroid Build Coastguard Worker report_deps = [ 109*61c4878aSAndroid Build Coastguard Worker "size_report:decoder_incremental", 110*61c4878aSAndroid Build Coastguard Worker "size_report:decoder_partial", 111*61c4878aSAndroid Build Coastguard Worker "size_report:oneof_codegen_size_comparison", 112*61c4878aSAndroid Build Coastguard Worker "size_report:protobuf_overview", 113*61c4878aSAndroid Build Coastguard Worker "size_report:simple_codegen_size_comparison", 114*61c4878aSAndroid Build Coastguard Worker ] 115*61c4878aSAndroid Build Coastguard Worker} 116*61c4878aSAndroid Build Coastguard Worker 117*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") { 118*61c4878aSAndroid Build Coastguard Worker tests = [ 119*61c4878aSAndroid Build Coastguard Worker ":codegen_decoder_test", 120*61c4878aSAndroid Build Coastguard Worker ":codegen_editions_test", 121*61c4878aSAndroid Build Coastguard Worker ":codegen_encoder_test", 122*61c4878aSAndroid Build Coastguard Worker ":codegen_message_test", 123*61c4878aSAndroid Build Coastguard Worker ":decoder_test", 124*61c4878aSAndroid Build Coastguard Worker ":encoder_test", 125*61c4878aSAndroid Build Coastguard Worker ":find_test", 126*61c4878aSAndroid Build Coastguard Worker ":map_utils_test", 127*61c4878aSAndroid Build Coastguard Worker ":message_test", 128*61c4878aSAndroid Build Coastguard Worker ":serialized_size_test", 129*61c4878aSAndroid Build Coastguard Worker ":stream_decoder_test", 130*61c4878aSAndroid Build Coastguard Worker ":varint_size_test", 131*61c4878aSAndroid Build Coastguard Worker ] 132*61c4878aSAndroid Build Coastguard Worker group_deps = [ ":fuzzers" ] 133*61c4878aSAndroid Build Coastguard Worker} 134*61c4878aSAndroid Build Coastguard Worker 135*61c4878aSAndroid Build Coastguard Workerpw_fuzzer_group("fuzzers") { 136*61c4878aSAndroid Build Coastguard Worker fuzzers = [ 137*61c4878aSAndroid Build Coastguard Worker ":decoder_fuzzer", 138*61c4878aSAndroid Build Coastguard Worker ":encoder_fuzzer", 139*61c4878aSAndroid Build Coastguard Worker ] 140*61c4878aSAndroid Build Coastguard Worker} 141*61c4878aSAndroid Build Coastguard Worker 142*61c4878aSAndroid Build Coastguard Workerpw_test("decoder_test") { 143*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 144*61c4878aSAndroid Build Coastguard Worker sources = [ "decoder_test.cc" ] 145*61c4878aSAndroid Build Coastguard Worker 146*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 147*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 148*61c4878aSAndroid Build Coastguard Worker} 149*61c4878aSAndroid Build Coastguard Worker 150*61c4878aSAndroid Build Coastguard Workerpw_test("encoder_test") { 151*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 152*61c4878aSAndroid Build Coastguard Worker sources = [ "encoder_test.cc" ] 153*61c4878aSAndroid Build Coastguard Worker 154*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 155*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 156*61c4878aSAndroid Build Coastguard Worker} 157*61c4878aSAndroid Build Coastguard Worker 158*61c4878aSAndroid Build Coastguard Workerpw_test("find_test") { 159*61c4878aSAndroid Build Coastguard Worker deps = [ 160*61c4878aSAndroid Build Coastguard Worker ":pw_protobuf", 161*61c4878aSAndroid Build Coastguard Worker dir_pw_string, 162*61c4878aSAndroid Build Coastguard Worker ] 163*61c4878aSAndroid Build Coastguard Worker sources = [ "find_test.cc" ] 164*61c4878aSAndroid Build Coastguard Worker 165*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 166*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 167*61c4878aSAndroid Build Coastguard Worker} 168*61c4878aSAndroid Build Coastguard Worker 169*61c4878aSAndroid Build Coastguard Workerpw_test("codegen_decoder_test") { 170*61c4878aSAndroid Build Coastguard Worker deps = [ ":codegen_test_protos.pwpb" ] 171*61c4878aSAndroid Build Coastguard Worker sources = [ "codegen_decoder_test.cc" ] 172*61c4878aSAndroid Build Coastguard Worker 173*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 174*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 175*61c4878aSAndroid Build Coastguard Worker} 176*61c4878aSAndroid Build Coastguard Worker 177*61c4878aSAndroid Build Coastguard Workerpw_test("codegen_encoder_test") { 178*61c4878aSAndroid Build Coastguard Worker deps = [ 179*61c4878aSAndroid Build Coastguard Worker ":codegen_test_protos.pwpb", 180*61c4878aSAndroid Build Coastguard Worker dir_pw_bytes, 181*61c4878aSAndroid Build Coastguard Worker ] 182*61c4878aSAndroid Build Coastguard Worker sources = [ "codegen_encoder_test.cc" ] 183*61c4878aSAndroid Build Coastguard Worker 184*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 185*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 186*61c4878aSAndroid Build Coastguard Worker} 187*61c4878aSAndroid Build Coastguard Worker 188*61c4878aSAndroid Build Coastguard Workerpw_test("codegen_message_test") { 189*61c4878aSAndroid Build Coastguard Worker deps = [ 190*61c4878aSAndroid Build Coastguard Worker ":codegen_test_protos.pwpb", 191*61c4878aSAndroid Build Coastguard Worker dir_pw_string, 192*61c4878aSAndroid Build Coastguard Worker ] 193*61c4878aSAndroid Build Coastguard Worker sources = [ "codegen_message_test.cc" ] 194*61c4878aSAndroid Build Coastguard Worker 195*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 196*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 197*61c4878aSAndroid Build Coastguard Worker} 198*61c4878aSAndroid Build Coastguard Worker 199*61c4878aSAndroid Build Coastguard Workerpw_test("codegen_editions_test") { 200*61c4878aSAndroid Build Coastguard Worker deps = [ 201*61c4878aSAndroid Build Coastguard Worker ":codegen_test_protos.pwpb", 202*61c4878aSAndroid Build Coastguard Worker dir_pw_string, 203*61c4878aSAndroid Build Coastguard Worker ] 204*61c4878aSAndroid Build Coastguard Worker sources = [ "codegen_editions_test.cc" ] 205*61c4878aSAndroid Build Coastguard Worker} 206*61c4878aSAndroid Build Coastguard Worker 207*61c4878aSAndroid Build Coastguard Workerpw_test("serialized_size_test") { 208*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 209*61c4878aSAndroid Build Coastguard Worker sources = [ "serialized_size_test.cc" ] 210*61c4878aSAndroid Build Coastguard Worker 211*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 212*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 213*61c4878aSAndroid Build Coastguard Worker} 214*61c4878aSAndroid Build Coastguard Worker 215*61c4878aSAndroid Build Coastguard Workerpw_test("stream_decoder_test") { 216*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 217*61c4878aSAndroid Build Coastguard Worker sources = [ "stream_decoder_test.cc" ] 218*61c4878aSAndroid Build Coastguard Worker 219*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 220*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 221*61c4878aSAndroid Build Coastguard Worker} 222*61c4878aSAndroid Build Coastguard Worker 223*61c4878aSAndroid Build Coastguard Workerpw_test("map_utils_test") { 224*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 225*61c4878aSAndroid Build Coastguard Worker sources = [ "map_utils_test.cc" ] 226*61c4878aSAndroid Build Coastguard Worker 227*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 228*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 229*61c4878aSAndroid Build Coastguard Worker} 230*61c4878aSAndroid Build Coastguard Worker 231*61c4878aSAndroid Build Coastguard Workerpw_test("message_test") { 232*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 233*61c4878aSAndroid Build Coastguard Worker sources = [ "message_test.cc" ] 234*61c4878aSAndroid Build Coastguard Worker 235*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 236*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 237*61c4878aSAndroid Build Coastguard Worker} 238*61c4878aSAndroid Build Coastguard Worker 239*61c4878aSAndroid Build Coastguard Workergroup("perf_tests") { 240*61c4878aSAndroid Build Coastguard Worker deps = [ ":encoder_perf_test" ] 241*61c4878aSAndroid Build Coastguard Worker} 242*61c4878aSAndroid Build Coastguard Worker 243*61c4878aSAndroid Build Coastguard Workerpw_perf_test("encoder_perf_test") { 244*61c4878aSAndroid Build Coastguard Worker enable_if = pw_perf_test_TIMER_INTERFACE_BACKEND != "" 245*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 246*61c4878aSAndroid Build Coastguard Worker sources = [ "encoder_perf_test.cc" ] 247*61c4878aSAndroid Build Coastguard Worker 248*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 249*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 250*61c4878aSAndroid Build Coastguard Worker} 251*61c4878aSAndroid Build Coastguard Worker 252*61c4878aSAndroid Build Coastguard Workerconfig("one_byte_varint") { 253*61c4878aSAndroid Build Coastguard Worker defines = [ "PW_PROTOBUF_CFG_MAX_VARINT_SIZE=1" ] 254*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 255*61c4878aSAndroid Build Coastguard Worker} 256*61c4878aSAndroid Build Coastguard Worker 257*61c4878aSAndroid Build Coastguard Workerpw_source_set("varint_size_test_config") { 258*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":one_byte_varint" ] 259*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 260*61c4878aSAndroid Build Coastguard Worker} 261*61c4878aSAndroid Build Coastguard Worker 262*61c4878aSAndroid Build Coastguard Workerpw_facade_test("varint_size_test") { 263*61c4878aSAndroid Build Coastguard Worker build_args = { 264*61c4878aSAndroid Build Coastguard Worker pw_protobuf_CONFIG = ":varint_size_test_config" 265*61c4878aSAndroid Build Coastguard Worker } 266*61c4878aSAndroid Build Coastguard Worker deps = [ ":pw_protobuf" ] 267*61c4878aSAndroid Build Coastguard Worker sources = [ "varint_size_test.cc" ] 268*61c4878aSAndroid Build Coastguard Worker 269*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 270*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 271*61c4878aSAndroid Build Coastguard Worker} 272*61c4878aSAndroid Build Coastguard Worker 273*61c4878aSAndroid Build Coastguard Workerpw_proto_library("codegen_protos") { 274*61c4878aSAndroid Build Coastguard Worker sources = [ "pw_protobuf_codegen_protos/codegen_options.proto" ] 275*61c4878aSAndroid Build Coastguard Worker} 276*61c4878aSAndroid Build Coastguard Worker 277*61c4878aSAndroid Build Coastguard Workerpw_proto_library("common_protos") { 278*61c4878aSAndroid Build Coastguard Worker sources = [ 279*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_protos/common.proto", 280*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_protos/field_options.proto", 281*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_protos/status.proto", 282*61c4878aSAndroid Build Coastguard Worker ] 283*61c4878aSAndroid Build Coastguard Worker} 284*61c4878aSAndroid Build Coastguard Worker 285*61c4878aSAndroid Build Coastguard Workerpw_proto_library("codegen_test_deps_protos") { 286*61c4878aSAndroid Build Coastguard Worker sources = [ "pw_protobuf_test_deps_protos/imported.proto" ] 287*61c4878aSAndroid Build Coastguard Worker inputs = [ "pw_protobuf_test_deps_protos/imported.pwpb_options" ] 288*61c4878aSAndroid Build Coastguard Worker} 289*61c4878aSAndroid Build Coastguard Worker 290*61c4878aSAndroid Build Coastguard Workerpw_proto_library("codegen_test_deps_protos_prefix") { 291*61c4878aSAndroid Build Coastguard Worker sources = [ "pw_protobuf_test_deps_protos/test_prefix_imported.proto" ] 292*61c4878aSAndroid Build Coastguard Worker inputs = [ "pw_protobuf_test_deps_protos/test_prefix_imported.pwpb_options" ] 293*61c4878aSAndroid Build Coastguard Worker prefix = "test_prefix" 294*61c4878aSAndroid Build Coastguard Worker strip_prefix = "pw_protobuf_test_deps_protos" 295*61c4878aSAndroid Build Coastguard Worker} 296*61c4878aSAndroid Build Coastguard Worker 297*61c4878aSAndroid Build Coastguard Workerpw_proto_library("codegen_test_protos") { 298*61c4878aSAndroid Build Coastguard Worker sources = [ 299*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/edition.proto", 300*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/full_test.proto", 301*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/imported.proto", 302*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/importer.proto", 303*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/non_pw_package.proto", 304*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/optional.proto", 305*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/proto2.proto", 306*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/repeated.proto", 307*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/size_report.proto", 308*61c4878aSAndroid Build Coastguard Worker ] 309*61c4878aSAndroid Build Coastguard Worker inputs = [ 310*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/edition.pwpb_options", 311*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/full_test.pwpb_options", 312*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/optional.pwpb_options", 313*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/imported.pwpb_options", 314*61c4878aSAndroid Build Coastguard Worker "pw_protobuf_test_protos/repeated.pwpb_options", 315*61c4878aSAndroid Build Coastguard Worker ] 316*61c4878aSAndroid Build Coastguard Worker deps = [ 317*61c4878aSAndroid Build Coastguard Worker ":codegen_test_deps_protos", 318*61c4878aSAndroid Build Coastguard Worker ":codegen_test_deps_protos_prefix", 319*61c4878aSAndroid Build Coastguard Worker ":common_protos", 320*61c4878aSAndroid Build Coastguard Worker ] 321*61c4878aSAndroid Build Coastguard Worker} 322*61c4878aSAndroid Build Coastguard Worker 323*61c4878aSAndroid Build Coastguard Worker# The tests below have a large amount of global and static data. 324*61c4878aSAndroid Build Coastguard Worker# TODO: b/234883746 - Replace this with a better size-based check. 325*61c4878aSAndroid Build Coastguard Worker_small_executable_target_types = [ 326*61c4878aSAndroid Build Coastguard Worker "stm32f429i_executable", 327*61c4878aSAndroid Build Coastguard Worker "lm3s6965evb_executable", 328*61c4878aSAndroid Build Coastguard Worker "arduino_executable", # Fails for Teensy 3.2 329*61c4878aSAndroid Build Coastguard Worker] 330*61c4878aSAndroid Build Coastguard Worker_supports_large_tests = 331*61c4878aSAndroid Build Coastguard Worker _small_executable_target_types + [ pw_build_EXECUTABLE_TARGET_TYPE ] - 332*61c4878aSAndroid Build Coastguard Worker _small_executable_target_types != [] 333*61c4878aSAndroid Build Coastguard Worker 334*61c4878aSAndroid Build Coastguard Workerpw_fuzzer("encoder_fuzzer") { 335*61c4878aSAndroid Build Coastguard Worker sources = [ 336*61c4878aSAndroid Build Coastguard Worker "encoder_fuzzer.cc", 337*61c4878aSAndroid Build Coastguard Worker "fuzz.h", 338*61c4878aSAndroid Build Coastguard Worker ] 339*61c4878aSAndroid Build Coastguard Worker deps = [ 340*61c4878aSAndroid Build Coastguard Worker ":pw_protobuf", 341*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 342*61c4878aSAndroid Build Coastguard Worker ] 343*61c4878aSAndroid Build Coastguard Worker enable_test_if = _supports_large_tests 344*61c4878aSAndroid Build Coastguard Worker 345*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 346*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 347*61c4878aSAndroid Build Coastguard Worker} 348*61c4878aSAndroid Build Coastguard Worker 349*61c4878aSAndroid Build Coastguard Workerpw_fuzzer("decoder_fuzzer") { 350*61c4878aSAndroid Build Coastguard Worker sources = [ 351*61c4878aSAndroid Build Coastguard Worker "decoder_fuzzer.cc", 352*61c4878aSAndroid Build Coastguard Worker "fuzz.h", 353*61c4878aSAndroid Build Coastguard Worker ] 354*61c4878aSAndroid Build Coastguard Worker deps = [ 355*61c4878aSAndroid Build Coastguard Worker ":pw_protobuf", 356*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 357*61c4878aSAndroid Build Coastguard Worker dir_pw_status, 358*61c4878aSAndroid Build Coastguard Worker dir_pw_stream, 359*61c4878aSAndroid Build Coastguard Worker ] 360*61c4878aSAndroid Build Coastguard Worker enable_test_if = _supports_large_tests 361*61c4878aSAndroid Build Coastguard Worker 362*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 363*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 364*61c4878aSAndroid Build Coastguard Worker} 365