xref: /aosp_15_r20/external/openscreen/third_party/protobuf/BUILD.gn (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
1*3f982cf4SFabien Sanglard# Copyright 2019 The Chromium Authors. All rights reserved.
2*3f982cf4SFabien Sanglard# Use of this source code is governed by a BSD-style license that can be
3*3f982cf4SFabien Sanglard# found in the LICENSE file.
4*3f982cf4SFabien Sanglard#
5*3f982cf4SFabien Sanglard# NOTE: this BUILD.gn is based heavily on Chrome's, however it does require
6*3f982cf4SFabien Sanglard# modification to work properly. When updating, try doing a diff with the
7*3f982cf4SFabien Sanglard# new version of the Chrome BUILD.gn if you see build errors.
8*3f982cf4SFabien Sanglard
9*3f982cf4SFabien Sanglardimport("//build_overrides/build.gni")
10*3f982cf4SFabien Sanglard
11*3f982cf4SFabien Sanglardconfig("protobuf_config") {
12*3f982cf4SFabien Sanglard  include_dirs = [ "src/src" ]
13*3f982cf4SFabien Sanglard  defines = [
14*3f982cf4SFabien Sanglard    "GOOGLE_PROTOBUF_NO_RTTI",
15*3f982cf4SFabien Sanglard    "GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
16*3f982cf4SFabien Sanglard    "HAVE_PTHREAD",
17*3f982cf4SFabien Sanglard  ]
18*3f982cf4SFabien Sanglard}
19*3f982cf4SFabien Sanglard
20*3f982cf4SFabien Sanglardconfig("protobuf_warnings") {
21*3f982cf4SFabien Sanglard  cflags_cc = [
22*3f982cf4SFabien Sanglard    "-Wno-sign-compare",
23*3f982cf4SFabien Sanglard    "-Wno-deprecated-declarations",
24*3f982cf4SFabien Sanglard    "-Wno-unused-function",
25*3f982cf4SFabien Sanglard  ]
26*3f982cf4SFabien Sanglard  if (is_clang) {
27*3f982cf4SFabien Sanglard    cflags_cc += [
28*3f982cf4SFabien Sanglard      "-Wno-exit-time-destructors",
29*3f982cf4SFabien Sanglard      "-Wno-extra-semi",
30*3f982cf4SFabien Sanglard      "-Wno-unneeded-internal-declaration",
31*3f982cf4SFabien Sanglard      "-Wno-unused-private-field",
32*3f982cf4SFabien Sanglard      "-Wno-inconsistent-missing-override",
33*3f982cf4SFabien Sanglard    ]
34*3f982cf4SFabien Sanglard  }
35*3f982cf4SFabien Sanglard
36*3f982cf4SFabien Sanglard  if (is_gcc) {
37*3f982cf4SFabien Sanglard    cflags_cc += [
38*3f982cf4SFabien Sanglard      "-Wno-stringop-overflow",
39*3f982cf4SFabien Sanglard      "-Wno-array-bounds",
40*3f982cf4SFabien Sanglard    ]
41*3f982cf4SFabien Sanglard  }
42*3f982cf4SFabien Sanglard}
43*3f982cf4SFabien Sanglard
44*3f982cf4SFabien Sanglard# This config should be applied to targets using generated code from the proto
45*3f982cf4SFabien Sanglard# compiler. It sets up the include directories properly.
46*3f982cf4SFabien Sanglardconfig("using_proto") {
47*3f982cf4SFabien Sanglard  include_dirs = [
48*3f982cf4SFabien Sanglard    "src/src",
49*3f982cf4SFabien Sanglard    "$root_gen_dir",
50*3f982cf4SFabien Sanglard  ]
51*3f982cf4SFabien Sanglard}
52*3f982cf4SFabien Sanglard
53*3f982cf4SFabien Sanglardconfig("allow_deprecated_proto_fields") {
54*3f982cf4SFabien Sanglard  if (is_clang) {
55*3f982cf4SFabien Sanglard    cflags = [ "-Wno-deprecated-declarations" ]
56*3f982cf4SFabien Sanglard  }
57*3f982cf4SFabien Sanglard}
58*3f982cf4SFabien Sanglard
59*3f982cf4SFabien Sanglardlite_sources = [
60*3f982cf4SFabien Sanglard  "src/src/google/protobuf/any_lite.cc",
61*3f982cf4SFabien Sanglard  "src/src/google/protobuf/arena.cc",
62*3f982cf4SFabien Sanglard  "src/src/google/protobuf/arena.h",
63*3f982cf4SFabien Sanglard  "src/src/google/protobuf/arena_impl.h",
64*3f982cf4SFabien Sanglard  "src/src/google/protobuf/arenastring.cc",
65*3f982cf4SFabien Sanglard  "src/src/google/protobuf/arenastring.h",
66*3f982cf4SFabien Sanglard  "src/src/google/protobuf/extension_set.cc",
67*3f982cf4SFabien Sanglard  "src/src/google/protobuf/extension_set.h",
68*3f982cf4SFabien Sanglard  "src/src/google/protobuf/generated_enum_util.cc",
69*3f982cf4SFabien Sanglard  "src/src/google/protobuf/generated_enum_util.h",
70*3f982cf4SFabien Sanglard  "src/src/google/protobuf/generated_message_table_driven_lite.cc",
71*3f982cf4SFabien Sanglard  "src/src/google/protobuf/generated_message_table_driven_lite.h",
72*3f982cf4SFabien Sanglard  "src/src/google/protobuf/generated_message_util.cc",
73*3f982cf4SFabien Sanglard  "src/src/google/protobuf/generated_message_util.h",
74*3f982cf4SFabien Sanglard  "src/src/google/protobuf/has_bits.h",
75*3f982cf4SFabien Sanglard  "src/src/google/protobuf/implicit_weak_message.cc",
76*3f982cf4SFabien Sanglard  "src/src/google/protobuf/implicit_weak_message.h",
77*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/coded_stream.cc",
78*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/coded_stream.h",
79*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/io_win32.cc",
80*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/io_win32.h",
81*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/strtod.cc",
82*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/strtod.h",
83*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/zero_copy_stream.cc",
84*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/zero_copy_stream.h",
85*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/zero_copy_stream_impl.cc",
86*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/zero_copy_stream_impl.h",
87*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
88*3f982cf4SFabien Sanglard  "src/src/google/protobuf/io/zero_copy_stream_impl_lite.h",
89*3f982cf4SFabien Sanglard  "src/src/google/protobuf/map.cc",
90*3f982cf4SFabien Sanglard  "src/src/google/protobuf/map.h",
91*3f982cf4SFabien Sanglard  "src/src/google/protobuf/map_entry_lite.h",
92*3f982cf4SFabien Sanglard  "src/src/google/protobuf/map_field_lite.h",
93*3f982cf4SFabien Sanglard  "src/src/google/protobuf/map_type_handler.h",
94*3f982cf4SFabien Sanglard  "src/src/google/protobuf/message_lite.cc",
95*3f982cf4SFabien Sanglard  "src/src/google/protobuf/message_lite.h",
96*3f982cf4SFabien Sanglard  "src/src/google/protobuf/parse_context.cc",
97*3f982cf4SFabien Sanglard  "src/src/google/protobuf/parse_context.h",
98*3f982cf4SFabien Sanglard  "src/src/google/protobuf/repeated_field.cc",
99*3f982cf4SFabien Sanglard  "src/src/google/protobuf/repeated_field.h",
100*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/bytestream.cc",
101*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/bytestream.h",
102*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/callback.h",
103*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/casts.h",
104*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/common.cc",
105*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/common.h",
106*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/hash.h",
107*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/int128.cc",
108*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/int128.h",
109*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/logging.h",
110*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/macros.h",
111*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/map_util.h",
112*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/mutex.h",
113*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/once.h",
114*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/platform_macros.h",
115*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/port.h",
116*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/status.cc",
117*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/status.h",
118*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/status_macros.h",
119*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/statusor.cc",
120*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/statusor.h",
121*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/stl_util.h",
122*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/stringpiece.cc",
123*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/stringpiece.h",
124*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/stringprintf.cc",
125*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/stringprintf.h",
126*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/structurally_valid.cc",
127*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/strutil.cc",
128*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/strutil.h",
129*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/template_util.h",
130*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/time.cc",
131*3f982cf4SFabien Sanglard  "src/src/google/protobuf/stubs/time.h",
132*3f982cf4SFabien Sanglard  "src/src/google/protobuf/wire_format_lite.cc",
133*3f982cf4SFabien Sanglard  "src/src/google/protobuf/wire_format_lite.h",
134*3f982cf4SFabien Sanglard]
135*3f982cf4SFabien Sanglard
136*3f982cf4SFabien Sanglardsource_set("protobuf_lite") {
137*3f982cf4SFabien Sanglard  sources = lite_sources
138*3f982cf4SFabien Sanglard
139*3f982cf4SFabien Sanglard  configs += [ ":protobuf_warnings" ]
140*3f982cf4SFabien Sanglard  public_configs = [ ":protobuf_config" ]
141*3f982cf4SFabien Sanglard}
142*3f982cf4SFabien Sanglard
143*3f982cf4SFabien Sanglard# This is the full, heavy protobuf lib that's needed for c++ .protos that don't
144*3f982cf4SFabien Sanglard# specify the LITE_RUNTIME option. The protocol compiler itself (protoc) falls
145*3f982cf4SFabien Sanglard# into that category. Do not use in Chrome code.
146*3f982cf4SFabien Sanglardstatic_library("protobuf_full") {
147*3f982cf4SFabien Sanglard  sources =
148*3f982cf4SFabien Sanglard      lite_sources + [
149*3f982cf4SFabien Sanglard        "src/src/google/protobuf/any.cc",
150*3f982cf4SFabien Sanglard        "src/src/google/protobuf/any.h",
151*3f982cf4SFabien Sanglard        "src/src/google/protobuf/any.pb.cc",
152*3f982cf4SFabien Sanglard        "src/src/google/protobuf/any.pb.h",
153*3f982cf4SFabien Sanglard        "src/src/google/protobuf/api.pb.cc",
154*3f982cf4SFabien Sanglard        "src/src/google/protobuf/api.pb.h",
155*3f982cf4SFabien Sanglard        "src/src/google/protobuf/compiler/importer.cc",
156*3f982cf4SFabien Sanglard        "src/src/google/protobuf/compiler/importer.h",
157*3f982cf4SFabien Sanglard        "src/src/google/protobuf/compiler/parser.cc",
158*3f982cf4SFabien Sanglard        "src/src/google/protobuf/compiler/parser.h",
159*3f982cf4SFabien Sanglard        "src/src/google/protobuf/descriptor.cc",
160*3f982cf4SFabien Sanglard        "src/src/google/protobuf/descriptor.h",
161*3f982cf4SFabien Sanglard        "src/src/google/protobuf/descriptor.pb.cc",
162*3f982cf4SFabien Sanglard        "src/src/google/protobuf/descriptor.pb.h",
163*3f982cf4SFabien Sanglard        "src/src/google/protobuf/descriptor_database.cc",
164*3f982cf4SFabien Sanglard        "src/src/google/protobuf/descriptor_database.h",
165*3f982cf4SFabien Sanglard        "src/src/google/protobuf/duration.pb.cc",
166*3f982cf4SFabien Sanglard        "src/src/google/protobuf/duration.pb.h",
167*3f982cf4SFabien Sanglard        "src/src/google/protobuf/dynamic_message.cc",
168*3f982cf4SFabien Sanglard        "src/src/google/protobuf/dynamic_message.h",
169*3f982cf4SFabien Sanglard        "src/src/google/protobuf/empty.pb.cc",
170*3f982cf4SFabien Sanglard        "src/src/google/protobuf/empty.pb.h",
171*3f982cf4SFabien Sanglard        "src/src/google/protobuf/extension_set_heavy.cc",
172*3f982cf4SFabien Sanglard        "src/src/google/protobuf/field_mask.pb.cc",
173*3f982cf4SFabien Sanglard        "src/src/google/protobuf/field_mask.pb.h",
174*3f982cf4SFabien Sanglard        "src/src/google/protobuf/generated_enum_reflection.h",
175*3f982cf4SFabien Sanglard        "src/src/google/protobuf/generated_message_reflection.cc",
176*3f982cf4SFabien Sanglard        "src/src/google/protobuf/generated_message_reflection.h",
177*3f982cf4SFabien Sanglard        "src/src/google/protobuf/io/gzip_stream.cc",
178*3f982cf4SFabien Sanglard        "src/src/google/protobuf/io/gzip_stream.h",
179*3f982cf4SFabien Sanglard        "src/src/google/protobuf/io/printer.cc",
180*3f982cf4SFabien Sanglard        "src/src/google/protobuf/io/printer.h",
181*3f982cf4SFabien Sanglard        "src/src/google/protobuf/io/tokenizer.cc",
182*3f982cf4SFabien Sanglard        "src/src/google/protobuf/io/tokenizer.h",
183*3f982cf4SFabien Sanglard        "src/src/google/protobuf/map_entry.h",
184*3f982cf4SFabien Sanglard        "src/src/google/protobuf/map_field.cc",
185*3f982cf4SFabien Sanglard        "src/src/google/protobuf/map_field.h",
186*3f982cf4SFabien Sanglard        "src/src/google/protobuf/map_field_inl.h",
187*3f982cf4SFabien Sanglard        "src/src/google/protobuf/message.cc",
188*3f982cf4SFabien Sanglard        "src/src/google/protobuf/message.h",
189*3f982cf4SFabien Sanglard        "src/src/google/protobuf/metadata.h",
190*3f982cf4SFabien Sanglard        "src/src/google/protobuf/reflection.h",
191*3f982cf4SFabien Sanglard        "src/src/google/protobuf/reflection_internal.h",
192*3f982cf4SFabien Sanglard        "src/src/google/protobuf/reflection_ops.cc",
193*3f982cf4SFabien Sanglard        "src/src/google/protobuf/reflection_ops.h",
194*3f982cf4SFabien Sanglard        "src/src/google/protobuf/service.cc",
195*3f982cf4SFabien Sanglard        "src/src/google/protobuf/service.h",
196*3f982cf4SFabien Sanglard        "src/src/google/protobuf/source_context.pb.cc",
197*3f982cf4SFabien Sanglard        "src/src/google/protobuf/source_context.pb.h",
198*3f982cf4SFabien Sanglard        "src/src/google/protobuf/struct.pb.cc",
199*3f982cf4SFabien Sanglard        "src/src/google/protobuf/struct.pb.h",
200*3f982cf4SFabien Sanglard        "src/src/google/protobuf/stubs/mathutil.h",
201*3f982cf4SFabien Sanglard        "src/src/google/protobuf/stubs/substitute.cc",
202*3f982cf4SFabien Sanglard        "src/src/google/protobuf/stubs/substitute.h",
203*3f982cf4SFabien Sanglard        "src/src/google/protobuf/text_format.cc",
204*3f982cf4SFabien Sanglard        "src/src/google/protobuf/text_format.h",
205*3f982cf4SFabien Sanglard        "src/src/google/protobuf/timestamp.pb.cc",
206*3f982cf4SFabien Sanglard        "src/src/google/protobuf/timestamp.pb.h",
207*3f982cf4SFabien Sanglard        "src/src/google/protobuf/type.pb.cc",
208*3f982cf4SFabien Sanglard        "src/src/google/protobuf/type.pb.h",
209*3f982cf4SFabien Sanglard        "src/src/google/protobuf/unknown_field_set.cc",
210*3f982cf4SFabien Sanglard        "src/src/google/protobuf/unknown_field_set.h",
211*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/field_comparator.cc",
212*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/field_comparator.h",
213*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/field_mask_util.cc",
214*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/field_mask_util.h",
215*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/constants.h",
216*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/datapiece.cc",
217*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/datapiece.h",
218*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/default_value_objectwriter.cc",
219*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/default_value_objectwriter.h",
220*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/error_listener.cc",
221*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/error_listener.h",
222*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/field_mask_utility.cc",
223*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/field_mask_utility.h",
224*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/json_escaping.cc",
225*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/json_escaping.h",
226*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/json_objectwriter.cc",
227*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/json_objectwriter.h",
228*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/json_stream_parser.cc",
229*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/json_stream_parser.h",
230*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/location_tracker.h",
231*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/object_location_tracker.h",
232*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/object_source.h",
233*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/object_writer.cc",
234*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/object_writer.h",
235*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/proto_writer.cc",
236*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/proto_writer.h",
237*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/protostream_objectsource.cc",
238*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/protostream_objectsource.h",
239*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/protostream_objectwriter.cc",
240*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/protostream_objectwriter.h",
241*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/structured_objectwriter.h",
242*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/type_info.cc",
243*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/type_info.h",
244*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/type_info_test_helper.cc",
245*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/type_info_test_helper.h",
246*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/utility.cc",
247*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/internal/utility.h",
248*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/json_util.cc",
249*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/json_util.h",
250*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/message_differencer.cc",
251*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/message_differencer.h",
252*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/time_util.cc",
253*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/time_util.h",
254*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/type_resolver.h",
255*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/type_resolver_util.cc",
256*3f982cf4SFabien Sanglard        "src/src/google/protobuf/util/type_resolver_util.h",
257*3f982cf4SFabien Sanglard        "src/src/google/protobuf/wire_format.cc",
258*3f982cf4SFabien Sanglard        "src/src/google/protobuf/wire_format.h",
259*3f982cf4SFabien Sanglard        "src/src/google/protobuf/wrappers.pb.cc",
260*3f982cf4SFabien Sanglard        "src/src/google/protobuf/wrappers.pb.h",
261*3f982cf4SFabien Sanglard      ]
262*3f982cf4SFabien Sanglard
263*3f982cf4SFabien Sanglard  deps = [ "../zlib" ]
264*3f982cf4SFabien Sanglard
265*3f982cf4SFabien Sanglard  configs += [
266*3f982cf4SFabien Sanglard    ":protobuf_warnings",
267*3f982cf4SFabien Sanglard    "../zlib:zlib_config",
268*3f982cf4SFabien Sanglard  ]
269*3f982cf4SFabien Sanglard  public_configs = [ ":protobuf_config" ]
270*3f982cf4SFabien Sanglard
271*3f982cf4SFabien Sanglard  defines = [ "HAVE_ZLIB" ]
272*3f982cf4SFabien Sanglard
273*3f982cf4SFabien Sanglard  visibility = [
274*3f982cf4SFabien Sanglard    ":protoc_lib",
275*3f982cf4SFabien Sanglard    "../chromium_quic/src/third_party:quic_trace",
276*3f982cf4SFabien Sanglard    "//third_party/libprotobuf-mutator:*",
277*3f982cf4SFabien Sanglard  ]
278*3f982cf4SFabien Sanglard}
279*3f982cf4SFabien Sanglard
280*3f982cf4SFabien Sanglard# Only compile the compiler for the host architecture.
281*3f982cf4SFabien Sanglardif (current_toolchain == host_toolchain) {
282*3f982cf4SFabien Sanglard  # protoc compiler is separated into protoc library and executable targets to
283*3f982cf4SFabien Sanglard  # support protoc plugins that need to link libprotoc, but not the main()
284*3f982cf4SFabien Sanglard  # itself. See src/google/protobuf/compiler/plugin.h
285*3f982cf4SFabien Sanglard  static_library("protoc_lib") {
286*3f982cf4SFabien Sanglard    sources = [
287*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/code_generator.cc",
288*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/code_generator.h",
289*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/command_line_interface.cc",
290*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/command_line_interface.h",
291*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_enum.cc",
292*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_enum.h",
293*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
294*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_enum_field.h",
295*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_extension.cc",
296*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_extension.h",
297*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_field.cc",
298*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_field.h",
299*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_file.cc",
300*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_file.h",
301*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_generator.cc",
302*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_generator.h",
303*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_helpers.cc",
304*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_helpers.h",
305*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_map_field.cc",
306*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_map_field.h",
307*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_message.cc",
308*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_message.h",
309*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_message_field.cc",
310*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_message_field.h",
311*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_message_layout_helper.h",
312*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_options.h",
313*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc",
314*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h",
315*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.cc",
316*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.h",
317*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
318*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_primitive_field.h",
319*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_service.cc",
320*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_service.h",
321*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_string_field.cc",
322*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/cpp/cpp_string_field.h",
323*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc",
324*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_doc_comment.h",
325*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_enum.cc",
326*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_enum.h",
327*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
328*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_enum_field.h",
329*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_field_base.cc",
330*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_field_base.h",
331*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_generator.cc",
332*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_generator.h",
333*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_helpers.cc",
334*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_helpers.h",
335*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_map_field.cc",
336*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_map_field.h",
337*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_message.cc",
338*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_message.h",
339*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_message_field.cc",
340*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_message_field.h",
341*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_options.h",
342*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
343*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_primitive_field.h",
344*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc",
345*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_reflection_class.h",
346*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
347*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h",
348*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
349*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h",
350*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
351*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h",
352*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc",
353*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_source_generator_base.h",
354*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc",
355*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h",
356*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_context.cc",
357*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_context.h",
358*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_doc_comment.cc",
359*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_doc_comment.h",
360*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum.cc",
361*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum.h",
362*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum_field.cc",
363*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum_field.h",
364*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum_field_lite.cc",
365*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum_field_lite.h",
366*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum_lite.cc",
367*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_enum_lite.h",
368*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_extension.cc",
369*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_extension.h",
370*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_extension_lite.cc",
371*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_extension_lite.h",
372*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_field.cc",
373*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_field.h",
374*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_file.cc",
375*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_file.h",
376*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_generator.cc",
377*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_generator.h",
378*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_generator_factory.cc",
379*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_generator_factory.h",
380*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_helpers.cc",
381*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_helpers.h",
382*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_kotlin_generator.cc",
383*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_kotlin_generator.h",
384*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_map_field.cc",
385*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_map_field.h",
386*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_map_field_lite.cc",
387*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_map_field_lite.h",
388*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message.cc",
389*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message.h",
390*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_builder.cc",
391*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_builder.h",
392*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_builder_lite.cc",
393*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_builder_lite.h",
394*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_field.cc",
395*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_field.h",
396*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_field_lite.cc",
397*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_field_lite.h",
398*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_lite.cc",
399*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_message_lite.h",
400*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_name_resolver.cc",
401*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_name_resolver.h",
402*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_options.h",
403*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_primitive_field.cc",
404*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_primitive_field.h",
405*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_primitive_field_lite.cc",
406*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_primitive_field_lite.h",
407*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_service.cc",
408*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_service.h",
409*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_shared_code_generator.cc",
410*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_shared_code_generator.h",
411*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_string_field.cc",
412*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_string_field.h",
413*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_string_field_lite.cc",
414*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/java/java_string_field_lite.h",
415*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/js/js_generator.cc",
416*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/js/js_generator.h",
417*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/js/well_known_types_embed.cc",
418*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/js/well_known_types_embed.h",
419*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
420*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_enum.h",
421*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
422*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_enum_field.h",
423*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_extension.cc",
424*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_extension.h",
425*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_field.cc",
426*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_field.h",
427*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_file.cc",
428*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_file.h",
429*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
430*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_generator.h",
431*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc",
432*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_helpers.h",
433*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
434*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_map_field.h",
435*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_message.cc",
436*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_message.h",
437*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
438*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_message_field.h",
439*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
440*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_oneof.h",
441*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
442*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.h",
443*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/php/php_generator.cc",
444*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/php/php_generator.h",
445*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/plugin.cc",
446*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/plugin.h",
447*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/plugin.pb.cc",
448*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/plugin.pb.h",
449*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/python/python_generator.cc",
450*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/python/python_generator.h",
451*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/ruby/ruby_generator.cc",
452*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/ruby/ruby_generator.h",
453*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/subprocess.cc",
454*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/subprocess.h",
455*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/zip_writer.cc",
456*3f982cf4SFabien Sanglard      "src/src/google/protobuf/compiler/zip_writer.h",
457*3f982cf4SFabien Sanglard    ]
458*3f982cf4SFabien Sanglard
459*3f982cf4SFabien Sanglard    configs += [ ":protobuf_warnings" ]
460*3f982cf4SFabien Sanglard    public_configs = [ ":protobuf_config" ]
461*3f982cf4SFabien Sanglard
462*3f982cf4SFabien Sanglard    public_deps = [ ":protobuf_full" ]
463*3f982cf4SFabien Sanglard  }
464*3f982cf4SFabien Sanglard
465*3f982cf4SFabien Sanglard  executable("protoc") {
466*3f982cf4SFabien Sanglard    sources = [ "src/src/google/protobuf/compiler/main.cc" ]
467*3f982cf4SFabien Sanglard
468*3f982cf4SFabien Sanglard    deps = [ ":protoc_lib" ]
469*3f982cf4SFabien Sanglard
470*3f982cf4SFabien Sanglard    configs += [ ":protobuf_warnings" ]
471*3f982cf4SFabien Sanglard    public_configs = [ ":protobuf_config" ]
472*3f982cf4SFabien Sanglard  }
473*3f982cf4SFabien Sanglard}
474