• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# gRPC Bazel BUILD file.
2#
3# Copyright 2016 gRPC authors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17licenses(["notice"])
18
19exports_files([
20    "LICENSE",
21    "etc/roots.pem",
22])
23
24package(
25    default_visibility = ["//visibility:public"],
26    features = [
27        "-layering_check",
28        "-parse_headers",
29    ],
30)
31
32load(
33    "//bazel:grpc_build_system.bzl",
34    "grpc_cc_library",
35    "grpc_generate_one_off_targets",
36    "grpc_upb_proto_library",
37    "python_config_settings",
38)
39
40config_setting(
41    name = "grpc_no_ares",
42    values = {"define": "grpc_no_ares=true"},
43)
44
45config_setting(
46    name = "grpc_no_xds",
47    values = {"define": "grpc_no_xds=true"},
48)
49
50config_setting(
51    name = "grpc_allow_exceptions",
52    values = {"define": "GRPC_ALLOW_EXCEPTIONS=1"},
53)
54
55config_setting(
56    name = "grpc_disallow_exceptions",
57    values = {"define": "GRPC_ALLOW_EXCEPTIONS=0"},
58)
59
60config_setting(
61    name = "remote_execution",
62    values = {"define": "GRPC_PORT_ISOLATED_RUNTIME=1"},
63)
64
65config_setting(
66    name = "windows",
67    values = {"cpu": "x64_windows"},
68)
69
70config_setting(
71    name = "windows_msvc",
72    values = {"cpu": "x64_windows_msvc"},
73)
74
75config_setting(
76    name = "mac_x86_64",
77    values = {"cpu": "darwin"},
78)
79
80config_setting(
81    name = "use_strict_warning",
82    values = {"define": "use_strict_warning=true"},
83)
84
85python_config_settings()
86
87# This should be updated along with build_handwritten.yaml
88g_stands_for = "guadalupe_river_park_conservancy"  # @unused
89
90core_version = "16.0.0"  # @unused
91
92version = "1.38.0"  # @unused
93
94GPR_PUBLIC_HDRS = [
95    "include/grpc/support/alloc.h",
96    "include/grpc/support/atm.h",
97    "include/grpc/support/atm_gcc_atomic.h",
98    "include/grpc/support/atm_gcc_sync.h",
99    "include/grpc/support/atm_windows.h",
100    "include/grpc/support/cpu.h",
101    "include/grpc/support/log.h",
102    "include/grpc/support/log_windows.h",
103    "include/grpc/support/port_platform.h",
104    "include/grpc/support/string_util.h",
105    "include/grpc/support/sync.h",
106    "include/grpc/support/sync_abseil.h",
107    "include/grpc/support/sync_custom.h",
108    "include/grpc/support/sync_generic.h",
109    "include/grpc/support/sync_posix.h",
110    "include/grpc/support/sync_windows.h",
111    "include/grpc/support/thd_id.h",
112    "include/grpc/support/time.h",
113]
114
115GRPC_PUBLIC_HDRS = [
116    "include/grpc/byte_buffer.h",
117    "include/grpc/byte_buffer_reader.h",
118    "include/grpc/compression.h",
119    "include/grpc/fork.h",
120    "include/grpc/grpc.h",
121    "include/grpc/grpc_posix.h",
122    "include/grpc/grpc_security_constants.h",
123    "include/grpc/slice.h",
124    "include/grpc/slice_buffer.h",
125    "include/grpc/status.h",
126    "include/grpc/load_reporting.h",
127    "include/grpc/support/workaround_list.h",
128]
129
130GRPC_PUBLIC_EVENT_ENGINE_HDRS = [
131    "include/grpc/event_engine/channel_args.h",
132    "include/grpc/event_engine/event_engine.h",
133    "include/grpc/event_engine/port.h",
134    "include/grpc/event_engine/slice_allocator.h",
135]
136
137GRPC_SECURE_PUBLIC_HDRS = [
138    "include/grpc/grpc_security.h",
139]
140
141# TODO(ctiller): layer grpc atop grpc_unsecure, layer grpc++ atop grpc++_unsecure
142GRPCXX_SRCS = [
143    "src/cpp/client/channel_cc.cc",
144    "src/cpp/client/client_callback.cc",
145    "src/cpp/client/client_context.cc",
146    "src/cpp/client/client_interceptor.cc",
147    "src/cpp/client/create_channel.cc",
148    "src/cpp/client/create_channel_internal.cc",
149    "src/cpp/client/create_channel_posix.cc",
150    "src/cpp/client/credentials_cc.cc",
151    "src/cpp/common/alarm.cc",
152    "src/cpp/common/channel_arguments.cc",
153    "src/cpp/common/channel_filter.cc",
154    "src/cpp/common/completion_queue_cc.cc",
155    "src/cpp/common/core_codegen.cc",
156    "src/cpp/common/resource_quota_cc.cc",
157    "src/cpp/common/rpc_method.cc",
158    "src/cpp/common/version_cc.cc",
159    "src/cpp/common/validate_service_config.cc",
160    "src/cpp/server/async_generic_service.cc",
161    "src/cpp/server/channel_argument_option.cc",
162    "src/cpp/server/create_default_thread_pool.cc",
163    "src/cpp/server/dynamic_thread_pool.cc",
164    "src/cpp/server/external_connection_acceptor_impl.cc",
165    "src/cpp/server/health/default_health_check_service.cc",
166    "src/cpp/server/health/health_check_service.cc",
167    "src/cpp/server/health/health_check_service_server_builder_option.cc",
168    "src/cpp/server/server_builder.cc",
169    "src/cpp/server/server_callback.cc",
170    "src/cpp/server/server_cc.cc",
171    "src/cpp/server/server_context.cc",
172    "src/cpp/server/server_credentials.cc",
173    "src/cpp/server/server_posix.cc",
174    "src/cpp/thread_manager/thread_manager.cc",
175    "src/cpp/util/byte_buffer_cc.cc",
176    "src/cpp/util/status.cc",
177    "src/cpp/util/string_ref.cc",
178    "src/cpp/util/time_cc.cc",
179]
180
181GRPCXX_HDRS = [
182    "src/cpp/client/create_channel_internal.h",
183    "src/cpp/common/channel_filter.h",
184    "src/cpp/server/dynamic_thread_pool.h",
185    "src/cpp/server/external_connection_acceptor_impl.h",
186    "src/cpp/server/health/default_health_check_service.h",
187    "src/cpp/server/thread_pool_interface.h",
188    "src/cpp/thread_manager/thread_manager.h",
189]
190
191GRPCXX_PUBLIC_HDRS = [
192    "include/grpc++/alarm.h",
193    "include/grpc++/channel.h",
194    "include/grpc++/client_context.h",
195    "include/grpc++/completion_queue.h",
196    "include/grpc++/create_channel.h",
197    "include/grpc++/create_channel_posix.h",
198    "include/grpc++/ext/health_check_service_server_builder_option.h",
199    "include/grpc++/generic/async_generic_service.h",
200    "include/grpc++/generic/generic_stub.h",
201    "include/grpc++/grpc++.h",
202    "include/grpc++/health_check_service_interface.h",
203    "include/grpc++/impl/call.h",
204    "include/grpc++/impl/channel_argument_option.h",
205    "include/grpc++/impl/client_unary_call.h",
206    "include/grpc++/impl/codegen/core_codegen.h",
207    "include/grpc++/impl/grpc_library.h",
208    "include/grpc++/impl/method_handler_impl.h",
209    "include/grpc++/impl/rpc_method.h",
210    "include/grpc++/impl/rpc_service_method.h",
211    "include/grpc++/impl/serialization_traits.h",
212    "include/grpc++/impl/server_builder_option.h",
213    "include/grpc++/impl/server_builder_plugin.h",
214    "include/grpc++/impl/server_initializer.h",
215    "include/grpc++/impl/service_type.h",
216    "include/grpc++/security/auth_context.h",
217    "include/grpc++/resource_quota.h",
218    "include/grpc++/security/auth_metadata_processor.h",
219    "include/grpc++/security/credentials.h",
220    "include/grpc++/security/server_credentials.h",
221    "include/grpc++/server.h",
222    "include/grpc++/server_builder.h",
223    "include/grpc++/server_context.h",
224    "include/grpc++/server_posix.h",
225    "include/grpc++/support/async_stream.h",
226    "include/grpc++/support/async_unary_call.h",
227    "include/grpc++/support/byte_buffer.h",
228    "include/grpc++/support/channel_arguments.h",
229    "include/grpc++/support/config.h",
230    "include/grpc++/support/slice.h",
231    "include/grpc++/support/status.h",
232    "include/grpc++/support/status_code_enum.h",
233    "include/grpc++/support/string_ref.h",
234    "include/grpc++/support/stub_options.h",
235    "include/grpc++/support/sync_stream.h",
236    "include/grpc++/support/time.h",
237    "include/grpcpp/alarm.h",
238    "include/grpcpp/channel.h",
239    "include/grpcpp/client_context.h",
240    "include/grpcpp/completion_queue.h",
241    "include/grpcpp/create_channel.h",
242    "include/grpcpp/create_channel_posix.h",
243    "include/grpcpp/ext/health_check_service_server_builder_option.h",
244    "include/grpcpp/generic/async_generic_service.h",
245    "include/grpcpp/generic/generic_stub.h",
246    "include/grpcpp/grpcpp.h",
247    "include/grpcpp/health_check_service_interface.h",
248    "include/grpcpp/impl/call.h",
249    "include/grpcpp/impl/channel_argument_option.h",
250    "include/grpcpp/impl/client_unary_call.h",
251    "include/grpcpp/impl/codegen/core_codegen.h",
252    "include/grpcpp/impl/grpc_library.h",
253    "include/grpcpp/impl/method_handler_impl.h",
254    "include/grpcpp/impl/rpc_method.h",
255    "include/grpcpp/impl/rpc_service_method.h",
256    "include/grpcpp/impl/serialization_traits.h",
257    "include/grpcpp/impl/server_builder_option.h",
258    "include/grpcpp/impl/server_builder_plugin.h",
259    "include/grpcpp/impl/server_initializer.h",
260    "include/grpcpp/impl/service_type.h",
261    "include/grpcpp/resource_quota.h",
262    "include/grpcpp/security/auth_context.h",
263    "include/grpcpp/security/auth_metadata_processor.h",
264    "include/grpcpp/security/credentials.h",
265    "include/grpcpp/security/server_credentials.h",
266    "include/grpcpp/security/tls_certificate_provider.h",
267    "include/grpcpp/security/tls_credentials_options.h",
268    "include/grpcpp/server.h",
269    "include/grpcpp/server_builder.h",
270    "include/grpcpp/server_context.h",
271    "include/grpcpp/server_posix.h",
272    "include/grpcpp/support/async_stream.h",
273    "include/grpcpp/support/async_unary_call.h",
274    "include/grpcpp/support/byte_buffer.h",
275    "include/grpcpp/support/channel_arguments.h",
276    "include/grpcpp/support/client_callback.h",
277    "include/grpcpp/support/client_interceptor.h",
278    "include/grpcpp/support/config.h",
279    "include/grpcpp/support/interceptor.h",
280    "include/grpcpp/support/message_allocator.h",
281    "include/grpcpp/support/method_handler.h",
282    "include/grpcpp/support/proto_buffer_reader.h",
283    "include/grpcpp/support/proto_buffer_writer.h",
284    "include/grpcpp/support/server_callback.h",
285    "include/grpcpp/support/server_interceptor.h",
286    "include/grpcpp/support/slice.h",
287    "include/grpcpp/support/status.h",
288    "include/grpcpp/support/status_code_enum.h",
289    "include/grpcpp/support/string_ref.h",
290    "include/grpcpp/support/stub_options.h",
291    "include/grpcpp/support/sync_stream.h",
292    "include/grpcpp/support/time.h",
293    "include/grpcpp/support/validate_service_config.h",
294]
295
296grpc_cc_library(
297    name = "gpr",
298    language = "c++",
299    public_hdrs = GPR_PUBLIC_HDRS,
300    standalone = True,
301    deps = [
302        "gpr_base",
303    ],
304)
305
306grpc_cc_library(
307    name = "grpc_unsecure",
308    srcs = [
309        "src/core/lib/surface/init.cc",
310        "src/core/lib/surface/init_unsecure.cc",
311        "src/core/plugin_registry/grpc_unsecure_plugin_registry.cc",
312    ],
313    language = "c++",
314    public_hdrs = GRPC_PUBLIC_HDRS,
315    standalone = True,
316    deps = [
317        "grpc_common",
318        "grpc_lb_policy_grpclb",
319    ],
320)
321
322grpc_cc_library(
323    name = "grpc",
324    srcs = [
325        "src/core/lib/surface/init.cc",
326        "src/core/plugin_registry/grpc_plugin_registry.cc",
327    ],
328    defines = select({
329        "grpc_no_xds": ["GRPC_NO_XDS"],
330        "//conditions:default": [],
331    }),
332    language = "c++",
333    public_hdrs = GRPC_PUBLIC_HDRS + GRPC_SECURE_PUBLIC_HDRS,
334    select_deps = {
335        "grpc_no_xds": [],
336        "//conditions:default": [
337            "grpc_lb_policy_cds",
338            "grpc_lb_policy_xds_cluster_impl",
339            "grpc_lb_policy_xds_cluster_manager",
340            "grpc_lb_policy_xds_cluster_resolver",
341            "grpc_resolver_xds",
342            "grpc_resolver_c2p",
343            "grpc_xds_server_config_fetcher",
344        ],
345    },
346    standalone = True,
347    deps = [
348        "grpc_common",
349        "grpc_lb_policy_grpclb_secure",
350        "grpc_secure",
351        "grpc_transport_chttp2_client_secure",
352        "grpc_transport_chttp2_server_secure",
353    ],
354)
355
356grpc_cc_library(
357    name = "grpc++_public_hdrs",
358    hdrs = GRPCXX_PUBLIC_HDRS,
359    external_deps = [
360        "absl/synchronization",
361        "protobuf_headers",
362    ],
363)
364
365grpc_cc_library(
366    name = "grpc++",
367    hdrs = [
368        "src/cpp/client/secure_credentials.h",
369        "src/cpp/common/secure_auth_context.h",
370        "src/cpp/common/tls_credentials_options_util.h",
371        "src/cpp/server/secure_server_credentials.h",
372    ],
373    language = "c++",
374    public_hdrs = GRPCXX_PUBLIC_HDRS,
375    select_deps = {
376        "grpc_no_xds": [],
377        "//conditions:default": [
378            "grpc++_xds_client",
379            "grpc++_xds_server",
380        ],
381    },
382    standalone = True,
383    deps = [
384        "grpc++_internals",
385    ],
386)
387
388grpc_cc_library(
389    name = "grpc++_internals",
390    srcs = [
391        "src/cpp/client/insecure_credentials.cc",
392        "src/cpp/client/secure_credentials.cc",
393        "src/cpp/common/auth_property_iterator.cc",
394        "src/cpp/common/secure_auth_context.cc",
395        "src/cpp/common/secure_channel_arguments.cc",
396        "src/cpp/common/secure_create_auth_context.cc",
397        "src/cpp/common/tls_certificate_provider.cc",
398        "src/cpp/common/tls_credentials_options.cc",
399        "src/cpp/common/tls_credentials_options_util.cc",
400        "src/cpp/server/insecure_server_credentials.cc",
401        "src/cpp/server/secure_server_credentials.cc",
402    ],
403    hdrs = [
404        "src/cpp/client/secure_credentials.h",
405        "src/cpp/common/secure_auth_context.h",
406        "src/cpp/common/tls_credentials_options_util.h",
407        "src/cpp/server/secure_server_credentials.h",
408    ],
409    external_deps = [
410        "absl/synchronization",
411        "protobuf_headers",
412    ],
413    language = "c++",
414    public_hdrs = GRPCXX_PUBLIC_HDRS,
415    deps = [
416        "gpr",
417        "grpc",
418        "grpc++_base",
419        "grpc++_codegen_base",
420        "grpc++_codegen_base_src",
421        "grpc++_codegen_proto",
422        "grpc_secure",
423    ],
424)
425
426grpc_cc_library(
427    name = "grpc++_xds_client",
428    srcs = [
429        "src/cpp/client/xds_credentials.cc",
430    ],
431    hdrs = [
432        "src/cpp/client/secure_credentials.h",
433    ],
434    language = "c++",
435    deps = [
436        "grpc++_internals",
437    ],
438)
439
440grpc_cc_library(
441    name = "grpc++_xds_server",
442    srcs = [
443        "src/cpp/server/xds_server_credentials.cc",
444    ],
445    hdrs = [
446        "src/cpp/server/secure_server_credentials.h",
447    ],
448    language = "c++",
449    public_hdrs = [
450        "include/grpcpp/xds_server_builder.h",
451    ],
452    deps = [
453        "grpc++_internals",
454    ],
455)
456
457grpc_cc_library(
458    name = "grpc++_unsecure",
459    srcs = [
460        "src/cpp/client/insecure_credentials.cc",
461        "src/cpp/common/insecure_create_auth_context.cc",
462        "src/cpp/server/insecure_server_credentials.cc",
463    ],
464    language = "c++",
465    standalone = True,
466    deps = [
467        "gpr",
468        "grpc++_base_unsecure",
469        "grpc++_codegen_base",
470        "grpc++_codegen_base_src",
471        "grpc++_codegen_proto",
472        "grpc_unsecure",
473    ],
474)
475
476grpc_cc_library(
477    name = "grpc++_error_details",
478    srcs = [
479        "src/cpp/util/error_details.cc",
480    ],
481    hdrs = [
482        "include/grpc++/support/error_details.h",
483        "include/grpcpp/support/error_details.h",
484    ],
485    language = "c++",
486    standalone = True,
487    deps = [
488        "grpc++",
489    ],
490)
491
492grpc_cc_library(
493    name = "grpc++_alts",
494    srcs = [
495        "src/cpp/common/alts_context.cc",
496        "src/cpp/common/alts_util.cc",
497    ],
498    hdrs = [
499        "include/grpcpp/security/alts_context.h",
500        "include/grpcpp/security/alts_util.h",
501    ],
502    language = "c++",
503    standalone = True,
504    deps = [
505        "alts_upb",
506        "alts_util",
507        "grpc++",
508    ],
509)
510
511grpc_cc_library(
512    name = "grpc_csharp_ext",
513    srcs = [
514        "src/csharp/ext/grpc_csharp_ext.c",
515    ],
516    language = "csharp",
517    deps = [
518        "gpr",
519        "grpc",
520    ],
521)
522
523grpc_cc_library(
524    name = "census",
525    srcs = [
526        "src/core/ext/filters/census/grpc_context.cc",
527    ],
528    language = "c++",
529    public_hdrs = [
530        "include/grpc/census.h",
531    ],
532    deps = [
533        "grpc_base",
534    ],
535)
536
537grpc_cc_library(
538    name = "grpc++_internal_hdrs_only",
539    hdrs = [
540        "include/grpcpp/impl/codegen/sync.h",
541    ],
542    external_deps = [
543        "absl/synchronization",
544    ],
545    language = "c++",
546    deps = [
547        "gpr_codegen",
548    ],
549)
550
551grpc_cc_library(
552    name = "gpr_base",
553    srcs = [
554        "src/core/lib/gpr/alloc.cc",
555        "src/core/lib/gpr/atm.cc",
556        "src/core/lib/gpr/cpu_iphone.cc",
557        "src/core/lib/gpr/cpu_linux.cc",
558        "src/core/lib/gpr/cpu_posix.cc",
559        "src/core/lib/gpr/cpu_windows.cc",
560        "src/core/lib/gpr/env_linux.cc",
561        "src/core/lib/gpr/env_posix.cc",
562        "src/core/lib/gpr/env_windows.cc",
563        "src/core/lib/gpr/log.cc",
564        "src/core/lib/gpr/log_android.cc",
565        "src/core/lib/gpr/log_linux.cc",
566        "src/core/lib/gpr/log_posix.cc",
567        "src/core/lib/gpr/log_windows.cc",
568        "src/core/lib/gpr/murmur_hash.cc",
569        "src/core/lib/gpr/string.cc",
570        "src/core/lib/gpr/string_posix.cc",
571        "src/core/lib/gpr/string_util_windows.cc",
572        "src/core/lib/gpr/string_windows.cc",
573        "src/core/lib/gpr/sync.cc",
574        "src/core/lib/gpr/sync_abseil.cc",
575        "src/core/lib/gpr/sync_posix.cc",
576        "src/core/lib/gpr/sync_windows.cc",
577        "src/core/lib/gpr/time.cc",
578        "src/core/lib/gpr/time_posix.cc",
579        "src/core/lib/gpr/time_precise.cc",
580        "src/core/lib/gpr/time_windows.cc",
581        "src/core/lib/gpr/tls_pthread.cc",
582        "src/core/lib/gpr/tmpfile_msys.cc",
583        "src/core/lib/gpr/tmpfile_posix.cc",
584        "src/core/lib/gpr/tmpfile_windows.cc",
585        "src/core/lib/gpr/wrap_memcpy.cc",
586        "src/core/lib/gprpp/arena.cc",
587        "src/core/lib/gprpp/examine_stack.cc",
588        "src/core/lib/gprpp/fork.cc",
589        "src/core/lib/gprpp/global_config_env.cc",
590        "src/core/lib/gprpp/host_port.cc",
591        "src/core/lib/gprpp/mpscq.cc",
592        "src/core/lib/gprpp/stat_posix.cc",
593        "src/core/lib/gprpp/stat_windows.cc",
594        "src/core/lib/gprpp/status_helper.cc",
595        "src/core/lib/gprpp/thd_posix.cc",
596        "src/core/lib/gprpp/thd_windows.cc",
597        "src/core/lib/gprpp/time_util.cc",
598        "src/core/lib/profiling/basic_timers.cc",
599        "src/core/lib/profiling/stap_timers.cc",
600    ],
601    hdrs = [
602        "src/core/lib/gpr/alloc.h",
603        "src/core/lib/gpr/arena.h",
604        "src/core/lib/gpr/env.h",
605        "src/core/lib/gpr/murmur_hash.h",
606        "src/core/lib/gpr/spinlock.h",
607        "src/core/lib/gpr/string.h",
608        "src/core/lib/gpr/string_windows.h",
609        "src/core/lib/gpr/time_precise.h",
610        "src/core/lib/gpr/tls.h",
611        "src/core/lib/gpr/tls_gcc.h",
612        "src/core/lib/gpr/tls_msvc.h",
613        "src/core/lib/gpr/tls_pthread.h",
614        "src/core/lib/gpr/tls_stdcpp.h",
615        "src/core/lib/gpr/tmpfile.h",
616        "src/core/lib/gpr/useful.h",
617        "src/core/lib/gprpp/arena.h",
618        "src/core/lib/gprpp/atomic.h",
619        "src/core/lib/gprpp/examine_stack.h",
620        "src/core/lib/gprpp/fork.h",
621        "src/core/lib/gprpp/global_config.h",
622        "src/core/lib/gprpp/global_config_custom.h",
623        "src/core/lib/gprpp/global_config_env.h",
624        "src/core/lib/gprpp/global_config_generic.h",
625        "src/core/lib/gprpp/host_port.h",
626        "src/core/lib/gprpp/manual_constructor.h",
627        "src/core/lib/gprpp/memory.h",
628        "src/core/lib/gprpp/mpscq.h",
629        "src/core/lib/gprpp/stat.h",
630        "src/core/lib/gprpp/status_helper.h",
631        "src/core/lib/gprpp/sync.h",
632        "src/core/lib/gprpp/thd.h",
633        "src/core/lib/gprpp/time_util.h",
634        "src/core/lib/profiling/timers.h",
635    ],
636    external_deps = [
637        "absl/base",
638        "absl/memory",
639        "absl/status",
640        "absl/strings",
641        "absl/strings:str_format",
642        "absl/synchronization",
643        "absl/time:time",
644        "absl/types:optional",
645    ],
646    language = "c++",
647    public_hdrs = GPR_PUBLIC_HDRS,
648    deps = [
649        "debug_location",
650        "google_api_upb",
651        "gpr_codegen",
652        "grpc_codegen",
653    ],
654)
655
656grpc_cc_library(
657    name = "gpr_codegen",
658    language = "c++",
659    public_hdrs = [
660        "include/grpc/impl/codegen/atm.h",
661        "include/grpc/impl/codegen/atm_gcc_atomic.h",
662        "include/grpc/impl/codegen/atm_gcc_sync.h",
663        "include/grpc/impl/codegen/atm_windows.h",
664        "include/grpc/impl/codegen/fork.h",
665        "include/grpc/impl/codegen/gpr_slice.h",
666        "include/grpc/impl/codegen/gpr_types.h",
667        "include/grpc/impl/codegen/log.h",
668        "include/grpc/impl/codegen/port_platform.h",
669        "include/grpc/impl/codegen/sync.h",
670        "include/grpc/impl/codegen/sync_abseil.h",
671        "include/grpc/impl/codegen/sync_custom.h",
672        "include/grpc/impl/codegen/sync_generic.h",
673        "include/grpc/impl/codegen/sync_posix.h",
674        "include/grpc/impl/codegen/sync_windows.h",
675    ],
676)
677
678grpc_cc_library(
679    name = "grpc_trace",
680    srcs = ["src/core/lib/debug/trace.cc"],
681    hdrs = ["src/core/lib/debug/trace.h"],
682    language = "c++",
683    public_hdrs = GRPC_PUBLIC_HDRS,
684    deps = [
685        "grpc_codegen",
686        ":gpr",
687    ],
688)
689
690grpc_cc_library(
691    name = "atomic",
692    language = "c++",
693    public_hdrs = [
694        "src/core/lib/gprpp/atomic.h",
695    ],
696    deps = [
697        "gpr",
698    ],
699)
700
701grpc_cc_library(
702    name = "debug_location",
703    language = "c++",
704    public_hdrs = ["src/core/lib/gprpp/debug_location.h"],
705)
706
707grpc_cc_library(
708    name = "orphanable",
709    language = "c++",
710    public_hdrs = ["src/core/lib/gprpp/orphanable.h"],
711    deps = [
712        "debug_location",
713        "gpr_base",
714        "grpc_trace",
715        "ref_counted",
716        "ref_counted_ptr",
717    ],
718)
719
720grpc_cc_library(
721    name = "ref_counted",
722    language = "c++",
723    public_hdrs = ["src/core/lib/gprpp/ref_counted.h"],
724    deps = [
725        "atomic",
726        "debug_location",
727        "gpr_base",
728        "grpc_trace",
729        "ref_counted_ptr",
730    ],
731)
732
733grpc_cc_library(
734    name = "dual_ref_counted",
735    language = "c++",
736    public_hdrs = ["src/core/lib/gprpp/dual_ref_counted.h"],
737    deps = [
738        "atomic",
739        "debug_location",
740        "gpr_base",
741        "grpc_trace",
742        "orphanable",
743        "ref_counted_ptr",
744    ],
745)
746
747grpc_cc_library(
748    name = "ref_counted_ptr",
749    language = "c++",
750    public_hdrs = ["src/core/lib/gprpp/ref_counted_ptr.h"],
751    deps = [
752        "gpr_base",
753    ],
754)
755
756grpc_cc_library(
757    name = "grpc_base_c",
758    srcs = [
759        "src/core/lib/address_utils/parse_address.cc",
760        "src/core/lib/address_utils/sockaddr_utils.cc",
761        "src/core/lib/avl/avl.cc",
762        "src/core/lib/backoff/backoff.cc",
763        "src/core/lib/channel/channel_args.cc",
764        "src/core/lib/channel/channel_stack.cc",
765        "src/core/lib/channel/channel_stack_builder.cc",
766        "src/core/lib/channel/channel_trace.cc",
767        "src/core/lib/channel/channelz.cc",
768        "src/core/lib/channel/channelz_registry.cc",
769        "src/core/lib/channel/connected_channel.cc",
770        "src/core/lib/channel/handshaker.cc",
771        "src/core/lib/channel/handshaker_registry.cc",
772        "src/core/lib/channel/status_util.cc",
773        "src/core/lib/compression/compression.cc",
774        "src/core/lib/compression/compression_args.cc",
775        "src/core/lib/compression/compression_internal.cc",
776        "src/core/lib/compression/message_compress.cc",
777        "src/core/lib/compression/stream_compression.cc",
778        "src/core/lib/compression/stream_compression_gzip.cc",
779        "src/core/lib/compression/stream_compression_identity.cc",
780        "src/core/lib/debug/stats.cc",
781        "src/core/lib/debug/stats_data.cc",
782        "src/core/lib/event_engine/slice_allocator.cc",
783        "src/core/lib/event_engine/sockaddr.cc",
784        "src/core/lib/http/format_request.cc",
785        "src/core/lib/http/httpcli.cc",
786        "src/core/lib/http/parser.cc",
787        "src/core/lib/iomgr/buffer_list.cc",
788        "src/core/lib/iomgr/call_combiner.cc",
789        "src/core/lib/iomgr/cfstream_handle.cc",
790        "src/core/lib/iomgr/combiner.cc",
791        "src/core/lib/iomgr/dualstack_socket_posix.cc",
792        "src/core/lib/iomgr/endpoint.cc",
793        "src/core/lib/iomgr/endpoint_cfstream.cc",
794        "src/core/lib/iomgr/endpoint_pair_posix.cc",
795        "src/core/lib/iomgr/endpoint_pair_uv.cc",
796        "src/core/lib/iomgr/endpoint_pair_windows.cc",
797        "src/core/lib/iomgr/error.cc",
798        "src/core/lib/iomgr/error_cfstream.cc",
799        "src/core/lib/iomgr/ev_apple.cc",
800        "src/core/lib/iomgr/ev_epoll1_linux.cc",
801        "src/core/lib/iomgr/ev_epollex_linux.cc",
802        "src/core/lib/iomgr/ev_poll_posix.cc",
803        "src/core/lib/iomgr/ev_posix.cc",
804        "src/core/lib/iomgr/ev_windows.cc",
805        "src/core/lib/iomgr/exec_ctx.cc",
806        "src/core/lib/iomgr/executor.cc",
807        "src/core/lib/iomgr/executor/mpmcqueue.cc",
808        "src/core/lib/iomgr/executor/threadpool.cc",
809        "src/core/lib/iomgr/fork_posix.cc",
810        "src/core/lib/iomgr/fork_windows.cc",
811        "src/core/lib/iomgr/gethostname_fallback.cc",
812        "src/core/lib/iomgr/gethostname_host_name_max.cc",
813        "src/core/lib/iomgr/gethostname_sysconf.cc",
814        "src/core/lib/iomgr/grpc_if_nametoindex_posix.cc",
815        "src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc",
816        "src/core/lib/iomgr/internal_errqueue.cc",
817        "src/core/lib/iomgr/iocp_windows.cc",
818        "src/core/lib/iomgr/iomgr.cc",
819        "src/core/lib/iomgr/iomgr_custom.cc",
820        "src/core/lib/iomgr/iomgr_internal.cc",
821        "src/core/lib/iomgr/iomgr_posix.cc",
822        "src/core/lib/iomgr/iomgr_posix_cfstream.cc",
823        "src/core/lib/iomgr/iomgr_uv.cc",
824        "src/core/lib/iomgr/iomgr_windows.cc",
825        "src/core/lib/iomgr/is_epollexclusive_available.cc",
826        "src/core/lib/iomgr/load_file.cc",
827        "src/core/lib/iomgr/lockfree_event.cc",
828        "src/core/lib/iomgr/polling_entity.cc",
829        "src/core/lib/iomgr/pollset.cc",
830        "src/core/lib/iomgr/pollset_custom.cc",
831        "src/core/lib/iomgr/pollset_set.cc",
832        "src/core/lib/iomgr/pollset_set_custom.cc",
833        "src/core/lib/iomgr/pollset_set_windows.cc",
834        "src/core/lib/iomgr/pollset_uv.cc",
835        "src/core/lib/iomgr/pollset_windows.cc",
836        "src/core/lib/iomgr/resolve_address.cc",
837        "src/core/lib/iomgr/resolve_address_custom.cc",
838        "src/core/lib/iomgr/resolve_address_posix.cc",
839        "src/core/lib/iomgr/resolve_address_windows.cc",
840        "src/core/lib/iomgr/resource_quota.cc",
841        "src/core/lib/iomgr/socket_factory_posix.cc",
842        "src/core/lib/iomgr/socket_mutator.cc",
843        "src/core/lib/iomgr/socket_utils_common_posix.cc",
844        "src/core/lib/iomgr/socket_utils_linux.cc",
845        "src/core/lib/iomgr/socket_utils_posix.cc",
846        "src/core/lib/iomgr/socket_utils_uv.cc",
847        "src/core/lib/iomgr/socket_utils_windows.cc",
848        "src/core/lib/iomgr/socket_windows.cc",
849        "src/core/lib/iomgr/tcp_client.cc",
850        "src/core/lib/iomgr/tcp_client_cfstream.cc",
851        "src/core/lib/iomgr/tcp_client_custom.cc",
852        "src/core/lib/iomgr/tcp_client_posix.cc",
853        "src/core/lib/iomgr/tcp_client_windows.cc",
854        "src/core/lib/iomgr/tcp_custom.cc",
855        "src/core/lib/iomgr/tcp_posix.cc",
856        "src/core/lib/iomgr/tcp_server.cc",
857        "src/core/lib/iomgr/tcp_server_custom.cc",
858        "src/core/lib/iomgr/tcp_server_posix.cc",
859        "src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
860        "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
861        "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
862        "src/core/lib/iomgr/tcp_server_windows.cc",
863        "src/core/lib/iomgr/tcp_uv.cc",
864        "src/core/lib/iomgr/tcp_windows.cc",
865        "src/core/lib/iomgr/time_averaged_stats.cc",
866        "src/core/lib/iomgr/timer.cc",
867        "src/core/lib/iomgr/timer_custom.cc",
868        "src/core/lib/iomgr/timer_generic.cc",
869        "src/core/lib/iomgr/timer_heap.cc",
870        "src/core/lib/iomgr/timer_manager.cc",
871        "src/core/lib/iomgr/timer_uv.cc",
872        "src/core/lib/iomgr/udp_server.cc",
873        "src/core/lib/iomgr/unix_sockets_posix.cc",
874        "src/core/lib/iomgr/unix_sockets_posix_noop.cc",
875        "src/core/lib/iomgr/wakeup_fd_eventfd.cc",
876        "src/core/lib/iomgr/wakeup_fd_nospecial.cc",
877        "src/core/lib/iomgr/wakeup_fd_pipe.cc",
878        "src/core/lib/iomgr/wakeup_fd_posix.cc",
879        "src/core/lib/iomgr/work_serializer.cc",
880        "src/core/lib/json/json_reader.cc",
881        "src/core/lib/json/json_util.cc",
882        "src/core/lib/json/json_writer.cc",
883        "src/core/lib/slice/b64.cc",
884        "src/core/lib/slice/percent_encoding.cc",
885        "src/core/lib/slice/slice.cc",
886        "src/core/lib/slice/slice_buffer.cc",
887        "src/core/lib/slice/slice_intern.cc",
888        "src/core/lib/slice/slice_string_helpers.cc",
889        "src/core/lib/surface/api_trace.cc",
890        "src/core/lib/surface/byte_buffer.cc",
891        "src/core/lib/surface/byte_buffer_reader.cc",
892        "src/core/lib/surface/call.cc",
893        "src/core/lib/surface/call_details.cc",
894        "src/core/lib/surface/call_log_batch.cc",
895        "src/core/lib/surface/channel.cc",
896        "src/core/lib/surface/channel_init.cc",
897        "src/core/lib/surface/channel_ping.cc",
898        "src/core/lib/surface/channel_stack_type.cc",
899        "src/core/lib/surface/completion_queue.cc",
900        "src/core/lib/surface/completion_queue_factory.cc",
901        "src/core/lib/surface/event_string.cc",
902        "src/core/lib/surface/metadata_array.cc",
903        "src/core/lib/surface/server.cc",
904        "src/core/lib/surface/validate_metadata.cc",
905        "src/core/lib/surface/version.cc",
906        "src/core/lib/transport/authority_override.cc",
907        "src/core/lib/transport/bdp_estimator.cc",
908        "src/core/lib/transport/byte_stream.cc",
909        "src/core/lib/transport/connectivity_state.cc",
910        "src/core/lib/transport/error_utils.cc",
911        "src/core/lib/transport/metadata.cc",
912        "src/core/lib/transport/metadata_batch.cc",
913        "src/core/lib/transport/pid_controller.cc",
914        "src/core/lib/transport/static_metadata.cc",
915        "src/core/lib/transport/status_conversion.cc",
916        "src/core/lib/transport/status_metadata.cc",
917        "src/core/lib/transport/timeout_encoding.cc",
918        "src/core/lib/transport/transport.cc",
919        "src/core/lib/transport/transport_op_string.cc",
920        "src/core/lib/uri/uri_parser.cc",
921    ],
922    hdrs = [
923        "src/core/lib/address_utils/parse_address.h",
924        "src/core/lib/address_utils/sockaddr_utils.h",
925        "src/core/lib/avl/avl.h",
926        "src/core/lib/backoff/backoff.h",
927        "src/core/lib/channel/channel_args.h",
928        "src/core/lib/channel/channel_stack.h",
929        "src/core/lib/channel/channel_stack_builder.h",
930        "src/core/lib/channel/channel_trace.h",
931        "src/core/lib/channel/channelz.h",
932        "src/core/lib/channel/channelz_registry.h",
933        "src/core/lib/channel/connected_channel.h",
934        "src/core/lib/channel/context.h",
935        "src/core/lib/channel/handshaker.h",
936        "src/core/lib/channel/handshaker_factory.h",
937        "src/core/lib/channel/handshaker_registry.h",
938        "src/core/lib/channel/status_util.h",
939        "src/core/lib/compression/algorithm_metadata.h",
940        "src/core/lib/compression/compression_args.h",
941        "src/core/lib/compression/compression_internal.h",
942        "src/core/lib/compression/message_compress.h",
943        "src/core/lib/compression/stream_compression.h",
944        "src/core/lib/compression/stream_compression_gzip.h",
945        "src/core/lib/compression/stream_compression_identity.h",
946        "src/core/lib/debug/stats.h",
947        "src/core/lib/debug/stats_data.h",
948        "src/core/lib/http/format_request.h",
949        "src/core/lib/http/httpcli.h",
950        "src/core/lib/http/parser.h",
951        "src/core/lib/iomgr/block_annotate.h",
952        "src/core/lib/iomgr/buffer_list.h",
953        "src/core/lib/iomgr/call_combiner.h",
954        "src/core/lib/iomgr/cfstream_handle.h",
955        "src/core/lib/iomgr/closure.h",
956        "src/core/lib/iomgr/combiner.h",
957        "src/core/lib/iomgr/dynamic_annotations.h",
958        "src/core/lib/iomgr/endpoint.h",
959        "src/core/lib/iomgr/endpoint_cfstream.h",
960        "src/core/lib/iomgr/endpoint_pair.h",
961        "src/core/lib/iomgr/error.h",
962        "src/core/lib/iomgr/error_cfstream.h",
963        "src/core/lib/iomgr/error_internal.h",
964        "src/core/lib/iomgr/ev_apple.h",
965        "src/core/lib/iomgr/ev_epoll1_linux.h",
966        "src/core/lib/iomgr/ev_epollex_linux.h",
967        "src/core/lib/iomgr/ev_poll_posix.h",
968        "src/core/lib/iomgr/ev_posix.h",
969        "src/core/lib/iomgr/exec_ctx.h",
970        "src/core/lib/iomgr/executor.h",
971        "src/core/lib/iomgr/executor/mpmcqueue.h",
972        "src/core/lib/iomgr/executor/threadpool.h",
973        "src/core/lib/iomgr/gethostname.h",
974        "src/core/lib/iomgr/grpc_if_nametoindex.h",
975        "src/core/lib/iomgr/internal_errqueue.h",
976        "src/core/lib/iomgr/iocp_windows.h",
977        "src/core/lib/iomgr/iomgr.h",
978        "src/core/lib/iomgr/iomgr_custom.h",
979        "src/core/lib/iomgr/iomgr_internal.h",
980        "src/core/lib/iomgr/is_epollexclusive_available.h",
981        "src/core/lib/iomgr/load_file.h",
982        "src/core/lib/iomgr/lockfree_event.h",
983        "src/core/lib/iomgr/nameser.h",
984        "src/core/lib/iomgr/polling_entity.h",
985        "src/core/lib/iomgr/pollset.h",
986        "src/core/lib/iomgr/pollset_custom.h",
987        "src/core/lib/iomgr/pollset_set.h",
988        "src/core/lib/iomgr/pollset_set_custom.h",
989        "src/core/lib/iomgr/pollset_set_windows.h",
990        "src/core/lib/iomgr/pollset_uv.h",
991        "src/core/lib/iomgr/pollset_windows.h",
992        "src/core/lib/iomgr/port.h",
993        "src/core/lib/iomgr/python_util.h",
994        "src/core/lib/iomgr/resolve_address.h",
995        "src/core/lib/iomgr/resolve_address_custom.h",
996        "src/core/lib/iomgr/resource_quota.h",
997        "src/core/lib/iomgr/sockaddr.h",
998        "src/core/lib/iomgr/sockaddr_custom.h",
999        "src/core/lib/iomgr/sockaddr_posix.h",
1000        "src/core/lib/iomgr/sockaddr_windows.h",
1001        "src/core/lib/iomgr/socket_factory_posix.h",
1002        "src/core/lib/iomgr/socket_mutator.h",
1003        "src/core/lib/iomgr/socket_utils.h",
1004        "src/core/lib/iomgr/socket_utils_posix.h",
1005        "src/core/lib/iomgr/socket_windows.h",
1006        "src/core/lib/iomgr/sys_epoll_wrapper.h",
1007        "src/core/lib/iomgr/tcp_client.h",
1008        "src/core/lib/iomgr/tcp_client_posix.h",
1009        "src/core/lib/iomgr/tcp_custom.h",
1010        "src/core/lib/iomgr/tcp_posix.h",
1011        "src/core/lib/iomgr/tcp_server.h",
1012        "src/core/lib/iomgr/tcp_server_utils_posix.h",
1013        "src/core/lib/iomgr/tcp_windows.h",
1014        "src/core/lib/iomgr/time_averaged_stats.h",
1015        "src/core/lib/iomgr/timer.h",
1016        "src/core/lib/iomgr/timer_custom.h",
1017        "src/core/lib/iomgr/timer_generic.h",
1018        "src/core/lib/iomgr/timer_heap.h",
1019        "src/core/lib/iomgr/timer_manager.h",
1020        "src/core/lib/iomgr/udp_server.h",
1021        "src/core/lib/iomgr/unix_sockets_posix.h",
1022        "src/core/lib/iomgr/wakeup_fd_pipe.h",
1023        "src/core/lib/iomgr/wakeup_fd_posix.h",
1024        "src/core/lib/iomgr/work_serializer.h",
1025        "src/core/lib/json/json.h",
1026        "src/core/lib/json/json_util.h",
1027        "src/core/lib/slice/b64.h",
1028        "src/core/lib/slice/percent_encoding.h",
1029        "src/core/lib/slice/slice_internal.h",
1030        "src/core/lib/slice/slice_string_helpers.h",
1031        "src/core/lib/slice/slice_utils.h",
1032        "src/core/lib/surface/api_trace.h",
1033        "src/core/lib/surface/call.h",
1034        "src/core/lib/surface/call_test_only.h",
1035        "src/core/lib/surface/channel.h",
1036        "src/core/lib/surface/channel_init.h",
1037        "src/core/lib/surface/channel_stack_type.h",
1038        "src/core/lib/surface/completion_queue.h",
1039        "src/core/lib/surface/completion_queue_factory.h",
1040        "src/core/lib/surface/event_string.h",
1041        "src/core/lib/surface/init.h",
1042        "src/core/lib/surface/lame_client.h",
1043        "src/core/lib/surface/server.h",
1044        "src/core/lib/surface/validate_metadata.h",
1045        "src/core/lib/transport/authority_override.h",
1046        "src/core/lib/transport/bdp_estimator.h",
1047        "src/core/lib/transport/byte_stream.h",
1048        "src/core/lib/transport/connectivity_state.h",
1049        "src/core/lib/transport/error_utils.h",
1050        "src/core/lib/transport/http2_errors.h",
1051        "src/core/lib/transport/metadata.h",
1052        "src/core/lib/transport/metadata_batch.h",
1053        "src/core/lib/transport/pid_controller.h",
1054        "src/core/lib/transport/static_metadata.h",
1055        "src/core/lib/transport/status_conversion.h",
1056        "src/core/lib/transport/status_metadata.h",
1057        "src/core/lib/transport/timeout_encoding.h",
1058        "src/core/lib/transport/transport.h",
1059        "src/core/lib/transport/transport_impl.h",
1060        "src/core/lib/uri/uri_parser.h",
1061    ],
1062    external_deps = [
1063        "madler_zlib",
1064        "absl/container:inlined_vector",
1065        "absl/status",
1066        "absl/status:statusor",
1067        "absl/strings",
1068        "absl/types:optional",
1069        "absl/container:flat_hash_map",
1070    ],
1071    language = "c++",
1072    public_hdrs = GRPC_PUBLIC_HDRS + GRPC_PUBLIC_EVENT_ENGINE_HDRS,
1073    deps = [
1074        "dual_ref_counted",
1075        "gpr_base",
1076        "grpc_codegen",
1077        "grpc_trace",
1078        "orphanable",
1079        "ref_counted",
1080        "ref_counted_ptr",
1081    ],
1082)
1083
1084grpc_cc_library(
1085    name = "grpc_base",
1086    srcs = [
1087        "src/core/lib/surface/lame_client.cc",
1088    ],
1089    language = "c++",
1090    deps = [
1091        "atomic",
1092        "grpc_base_c",
1093    ],
1094)
1095
1096grpc_cc_library(
1097    name = "grpc_common",
1098    language = "c++",
1099    deps = [
1100        "grpc_base",
1101        # standard plugins
1102        "census",
1103        "grpc_deadline_filter",
1104        "grpc_client_authority_filter",
1105        "grpc_lb_policy_pick_first",
1106        "grpc_lb_policy_priority",
1107        "grpc_lb_policy_round_robin",
1108        "grpc_lb_policy_weighted_target",
1109        "grpc_client_idle_filter",
1110        "grpc_max_age_filter",
1111        "grpc_message_size_filter",
1112        "grpc_resolver_dns_ares",
1113        "grpc_resolver_fake",
1114        "grpc_resolver_dns_native",
1115        "grpc_resolver_sockaddr",
1116        "grpc_transport_chttp2_client_insecure",
1117        "grpc_transport_chttp2_server_insecure",
1118        "grpc_transport_inproc",
1119        "grpc_fault_injection_filter",
1120        "grpc_workaround_cronet_compression_filter",
1121        "grpc_server_backward_compatibility",
1122    ],
1123)
1124
1125grpc_cc_library(
1126    name = "grpc_client_channel",
1127    srcs = [
1128        "src/core/ext/filters/client_channel/backend_metric.cc",
1129        "src/core/ext/filters/client_channel/backup_poller.cc",
1130        "src/core/ext/filters/client_channel/channel_connectivity.cc",
1131        "src/core/ext/filters/client_channel/client_channel.cc",
1132        "src/core/ext/filters/client_channel/client_channel_channelz.cc",
1133        "src/core/ext/filters/client_channel/client_channel_factory.cc",
1134        "src/core/ext/filters/client_channel/client_channel_plugin.cc",
1135        "src/core/ext/filters/client_channel/config_selector.cc",
1136        "src/core/ext/filters/client_channel/dynamic_filters.cc",
1137        "src/core/ext/filters/client_channel/global_subchannel_pool.cc",
1138        "src/core/ext/filters/client_channel/health/health_check_client.cc",
1139        "src/core/ext/filters/client_channel/http_connect_handshaker.cc",
1140        "src/core/ext/filters/client_channel/http_proxy.cc",
1141        "src/core/ext/filters/client_channel/lb_policy.cc",
1142        "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc",
1143        "src/core/ext/filters/client_channel/lb_policy_registry.cc",
1144        "src/core/ext/filters/client_channel/local_subchannel_pool.cc",
1145        "src/core/ext/filters/client_channel/proxy_mapper_registry.cc",
1146        "src/core/ext/filters/client_channel/resolver.cc",
1147        "src/core/ext/filters/client_channel/resolver_registry.cc",
1148        "src/core/ext/filters/client_channel/resolver_result_parsing.cc",
1149        "src/core/ext/filters/client_channel/retry_filter.cc",
1150        "src/core/ext/filters/client_channel/retry_service_config.cc",
1151        "src/core/ext/filters/client_channel/retry_throttle.cc",
1152        "src/core/ext/filters/client_channel/server_address.cc",
1153        "src/core/ext/filters/client_channel/service_config.cc",
1154        "src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc",
1155        "src/core/ext/filters/client_channel/service_config_parser.cc",
1156        "src/core/ext/filters/client_channel/subchannel.cc",
1157        "src/core/ext/filters/client_channel/subchannel_pool_interface.cc",
1158    ],
1159    hdrs = [
1160        "src/core/ext/filters/client_channel/backend_metric.h",
1161        "src/core/ext/filters/client_channel/backup_poller.h",
1162        "src/core/ext/filters/client_channel/client_channel.h",
1163        "src/core/ext/filters/client_channel/client_channel_channelz.h",
1164        "src/core/ext/filters/client_channel/client_channel_factory.h",
1165        "src/core/ext/filters/client_channel/config_selector.h",
1166        "src/core/ext/filters/client_channel/connector.h",
1167        "src/core/ext/filters/client_channel/dynamic_filters.h",
1168        "src/core/ext/filters/client_channel/global_subchannel_pool.h",
1169        "src/core/ext/filters/client_channel/health/health_check_client.h",
1170        "src/core/ext/filters/client_channel/http_connect_handshaker.h",
1171        "src/core/ext/filters/client_channel/http_proxy.h",
1172        "src/core/ext/filters/client_channel/lb_policy.h",
1173        "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h",
1174        "src/core/ext/filters/client_channel/lb_policy_factory.h",
1175        "src/core/ext/filters/client_channel/lb_policy_registry.h",
1176        "src/core/ext/filters/client_channel/local_subchannel_pool.h",
1177        "src/core/ext/filters/client_channel/proxy_mapper.h",
1178        "src/core/ext/filters/client_channel/proxy_mapper_registry.h",
1179        "src/core/ext/filters/client_channel/resolver.h",
1180        "src/core/ext/filters/client_channel/resolver_factory.h",
1181        "src/core/ext/filters/client_channel/resolver_registry.h",
1182        "src/core/ext/filters/client_channel/resolver_result_parsing.h",
1183        "src/core/ext/filters/client_channel/retry_filter.h",
1184        "src/core/ext/filters/client_channel/retry_service_config.h",
1185        "src/core/ext/filters/client_channel/retry_throttle.h",
1186        "src/core/ext/filters/client_channel/server_address.h",
1187        "src/core/ext/filters/client_channel/service_config.h",
1188        "src/core/ext/filters/client_channel/service_config_call_data.h",
1189        "src/core/ext/filters/client_channel/service_config_parser.h",
1190        "src/core/ext/filters/client_channel/subchannel.h",
1191        "src/core/ext/filters/client_channel/subchannel_interface.h",
1192        "src/core/ext/filters/client_channel/subchannel_pool_interface.h",
1193    ],
1194    external_deps = [
1195        "absl/container:inlined_vector",
1196    ],
1197    language = "c++",
1198    deps = [
1199        "gpr_base",
1200        "grpc_base",
1201        "grpc_client_authority_filter",
1202        "grpc_deadline_filter",
1203        "grpc_health_upb",
1204        "orphanable",
1205        "ref_counted",
1206        "ref_counted_ptr",
1207        "udpa_orca_upb",
1208    ],
1209)
1210
1211grpc_cc_library(
1212    name = "grpc_client_idle_filter",
1213    srcs = [
1214        "src/core/ext/filters/client_idle/client_idle_filter.cc",
1215    ],
1216    language = "c++",
1217    deps = [
1218        "grpc_base",
1219    ],
1220)
1221
1222grpc_cc_library(
1223    name = "grpc_max_age_filter",
1224    srcs = [
1225        "src/core/ext/filters/max_age/max_age_filter.cc",
1226    ],
1227    hdrs = [
1228        "src/core/ext/filters/max_age/max_age_filter.h",
1229    ],
1230    language = "c++",
1231    deps = [
1232        "grpc_base",
1233    ],
1234)
1235
1236grpc_cc_library(
1237    name = "grpc_deadline_filter",
1238    srcs = [
1239        "src/core/ext/filters/deadline/deadline_filter.cc",
1240    ],
1241    hdrs = [
1242        "src/core/ext/filters/deadline/deadline_filter.h",
1243    ],
1244    language = "c++",
1245    deps = [
1246        "grpc_base",
1247    ],
1248)
1249
1250grpc_cc_library(
1251    name = "grpc_client_authority_filter",
1252    srcs = [
1253        "src/core/ext/filters/http/client_authority_filter.cc",
1254    ],
1255    hdrs = [
1256        "src/core/ext/filters/http/client_authority_filter.h",
1257    ],
1258    language = "c++",
1259    deps = [
1260        "grpc_base",
1261    ],
1262)
1263
1264grpc_cc_library(
1265    name = "grpc_message_size_filter",
1266    srcs = [
1267        "src/core/ext/filters/message_size/message_size_filter.cc",
1268    ],
1269    hdrs = [
1270        "src/core/ext/filters/message_size/message_size_filter.h",
1271    ],
1272    language = "c++",
1273    deps = [
1274        "grpc_base",
1275        "grpc_client_channel",
1276    ],
1277)
1278
1279grpc_cc_library(
1280    name = "grpc_fault_injection_filter",
1281    srcs = [
1282        "src/core/ext/filters/fault_injection/fault_injection_filter.cc",
1283        "src/core/ext/filters/fault_injection/service_config_parser.cc",
1284    ],
1285    hdrs = [
1286        "src/core/ext/filters/fault_injection/fault_injection_filter.h",
1287        "src/core/ext/filters/fault_injection/service_config_parser.h",
1288    ],
1289    language = "c++",
1290    deps = [
1291        "grpc_base",
1292        "grpc_client_channel",
1293    ],
1294)
1295
1296grpc_cc_library(
1297    name = "grpc_http_filters",
1298    srcs = [
1299        "src/core/ext/filters/http/client/http_client_filter.cc",
1300        "src/core/ext/filters/http/http_filters_plugin.cc",
1301        "src/core/ext/filters/http/message_compress/message_compress_filter.cc",
1302        "src/core/ext/filters/http/message_compress/message_decompress_filter.cc",
1303        "src/core/ext/filters/http/server/http_server_filter.cc",
1304    ],
1305    hdrs = [
1306        "src/core/ext/filters/http/client/http_client_filter.h",
1307        "src/core/ext/filters/http/message_compress/message_compress_filter.h",
1308        "src/core/ext/filters/http/message_compress/message_decompress_filter.h",
1309        "src/core/ext/filters/http/server/http_server_filter.h",
1310    ],
1311    language = "c++",
1312    deps = [
1313        "grpc_base",
1314        "grpc_message_size_filter",
1315    ],
1316)
1317
1318grpc_cc_library(
1319    name = "grpc_workaround_cronet_compression_filter",
1320    srcs = [
1321        "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc",
1322    ],
1323    hdrs = [
1324        "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h",
1325    ],
1326    language = "c++",
1327    deps = [
1328        "grpc_base",
1329        "grpc_server_backward_compatibility",
1330    ],
1331)
1332
1333grpc_cc_library(
1334    name = "grpc_codegen",
1335    language = "c++",
1336    public_hdrs = [
1337        "include/grpc/impl/codegen/byte_buffer.h",
1338        "include/grpc/impl/codegen/byte_buffer_reader.h",
1339        "include/grpc/impl/codegen/compression_types.h",
1340        "include/grpc/impl/codegen/connectivity_state.h",
1341        "include/grpc/impl/codegen/grpc_types.h",
1342        "include/grpc/impl/codegen/propagation_bits.h",
1343        "include/grpc/impl/codegen/status.h",
1344        "include/grpc/impl/codegen/slice.h",
1345    ],
1346    deps = [
1347        "gpr_codegen",
1348    ],
1349)
1350
1351grpc_cc_library(
1352    name = "grpc_grpclb_balancer_addresses",
1353    srcs = [
1354        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc",
1355    ],
1356    hdrs = [
1357        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h",
1358    ],
1359    language = "c++",
1360    deps = [
1361        "grpc_base",
1362        "grpc_client_channel",
1363    ],
1364)
1365
1366grpc_cc_library(
1367    name = "grpc_lb_policy_grpclb",
1368    srcs = [
1369        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
1370        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
1371        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc",
1372        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
1373        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
1374    ],
1375    hdrs = [
1376        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
1377        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1378        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
1379        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
1380        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
1381    ],
1382    language = "c++",
1383    deps = [
1384        "grpc_base",
1385        "grpc_client_channel",
1386        "grpc_grpclb_balancer_addresses",
1387        "grpc_lb_upb",
1388        "grpc_resolver_fake",
1389        "grpc_transport_chttp2_client_insecure",
1390    ],
1391)
1392
1393grpc_cc_library(
1394    name = "grpc_lb_policy_grpclb_secure",
1395    srcs = [
1396        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
1397        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
1398        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc",
1399        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
1400        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
1401    ],
1402    hdrs = [
1403        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
1404        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1405        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
1406        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
1407        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
1408    ],
1409    language = "c++",
1410    deps = [
1411        "grpc_base",
1412        "grpc_client_channel",
1413        "grpc_grpclb_balancer_addresses",
1414        "grpc_lb_upb",
1415        "grpc_resolver_fake",
1416        "grpc_secure",
1417        "grpc_transport_chttp2_client_secure",
1418    ],
1419)
1420
1421grpc_cc_library(
1422    name = "grpc_xds_client",
1423    srcs = [
1424        "src/core/ext/xds/certificate_provider_registry.cc",
1425        "src/core/ext/xds/certificate_provider_store.cc",
1426        "src/core/ext/xds/file_watcher_certificate_provider_factory.cc",
1427        "src/core/ext/xds/xds_api.cc",
1428        "src/core/ext/xds/xds_bootstrap.cc",
1429        "src/core/ext/xds/xds_certificate_provider.cc",
1430        "src/core/ext/xds/xds_client.cc",
1431        "src/core/ext/xds/xds_client_stats.cc",
1432        "src/core/ext/xds/xds_http_fault_filter.cc",
1433        "src/core/ext/xds/xds_http_filters.cc",
1434        "src/core/lib/security/credentials/xds/xds_credentials.cc",
1435    ],
1436    hdrs = [
1437        "src/core/ext/xds/certificate_provider_factory.h",
1438        "src/core/ext/xds/certificate_provider_registry.h",
1439        "src/core/ext/xds/certificate_provider_store.h",
1440        "src/core/ext/xds/file_watcher_certificate_provider_factory.h",
1441        "src/core/ext/xds/xds_api.h",
1442        "src/core/ext/xds/xds_bootstrap.h",
1443        "src/core/ext/xds/xds_certificate_provider.h",
1444        "src/core/ext/xds/xds_channel_args.h",
1445        "src/core/ext/xds/xds_client.h",
1446        "src/core/ext/xds/xds_client_stats.h",
1447        "src/core/ext/xds/xds_http_fault_filter.h",
1448        "src/core/ext/xds/xds_http_filters.h",
1449        "src/core/lib/security/credentials/xds/xds_credentials.h",
1450    ],
1451    external_deps = [
1452        "absl/functional:bind_front",
1453        "upb_lib",
1454        "upb_textformat_lib",
1455        "upb_json_lib",
1456        "re2",
1457    ],
1458    language = "c++",
1459    deps = [
1460        "envoy_ads_upb",
1461        "envoy_ads_upbdefs",
1462        "grpc_base",
1463        "grpc_client_channel",
1464        "grpc_fault_injection_filter",
1465        "grpc_matchers",
1466        "grpc_secure",
1467        "grpc_transport_chttp2_client_secure",
1468        "udpa_type_upb",
1469        "udpa_type_upbdefs",
1470    ],
1471)
1472
1473grpc_cc_library(
1474    name = "grpc_xds_server_config_fetcher",
1475    srcs = [
1476        "src/core/ext/xds/xds_server_config_fetcher.cc",
1477    ],
1478    language = "c++",
1479    deps = [
1480        "grpc_xds_client",
1481    ],
1482)
1483
1484grpc_cc_library(
1485    name = "grpc_google_mesh_ca_certificate_provider_factory",
1486    srcs = [
1487        "src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc",
1488    ],
1489    hdrs = [
1490        "src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h",
1491    ],
1492    language = "c++",
1493    deps = [
1494        "grpc_base",
1495        "grpc_xds_client",
1496    ],
1497)
1498
1499grpc_cc_library(
1500    name = "grpc_lb_policy_cds",
1501    srcs = [
1502        "src/core/ext/filters/client_channel/lb_policy/xds/cds.cc",
1503    ],
1504    language = "c++",
1505    deps = [
1506        "grpc_base",
1507        "grpc_client_channel",
1508        "grpc_xds_client",
1509    ],
1510)
1511
1512grpc_cc_library(
1513    name = "grpc_lb_xds_channel_args",
1514    hdrs = [
1515        "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h",
1516    ],
1517    language = "c++",
1518)
1519
1520grpc_cc_library(
1521    name = "grpc_lb_xds_common",
1522    hdrs = [
1523        "src/core/ext/filters/client_channel/lb_policy/xds/xds.h",
1524    ],
1525    language = "c++",
1526    deps = [
1527        "grpc_base",
1528        "grpc_client_channel",
1529        "grpc_xds_client",
1530    ],
1531)
1532
1533grpc_cc_library(
1534    name = "grpc_lb_policy_xds_cluster_resolver",
1535    srcs = [
1536        "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc",
1537    ],
1538    external_deps = [
1539        "absl/strings",
1540    ],
1541    language = "c++",
1542    deps = [
1543        "grpc_base",
1544        "grpc_client_channel",
1545        "grpc_lb_address_filtering",
1546        "grpc_lb_xds_channel_args",
1547        "grpc_lb_xds_common",
1548        "grpc_resolver_fake",
1549        "grpc_xds_client",
1550    ],
1551)
1552
1553grpc_cc_library(
1554    name = "grpc_lb_policy_xds_cluster_impl",
1555    srcs = [
1556        "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc",
1557    ],
1558    external_deps = [
1559        "absl/strings",
1560    ],
1561    language = "c++",
1562    deps = [
1563        "grpc_base",
1564        "grpc_client_channel",
1565        "grpc_lb_xds_channel_args",
1566        "grpc_lb_xds_common",
1567        "grpc_xds_client",
1568    ],
1569)
1570
1571grpc_cc_library(
1572    name = "grpc_lb_policy_xds_cluster_manager",
1573    srcs = [
1574        "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc",
1575    ],
1576    external_deps = [
1577        "absl/strings",
1578    ],
1579    language = "c++",
1580    deps = [
1581        "grpc_base",
1582        "grpc_client_channel",
1583        "grpc_resolver_xds_header",
1584    ],
1585)
1586
1587grpc_cc_library(
1588    name = "grpc_lb_address_filtering",
1589    srcs = [
1590        "src/core/ext/filters/client_channel/lb_policy/address_filtering.cc",
1591    ],
1592    hdrs = [
1593        "src/core/ext/filters/client_channel/lb_policy/address_filtering.h",
1594    ],
1595    external_deps = [
1596        "absl/strings",
1597    ],
1598    language = "c++",
1599    deps = [
1600        "grpc_base",
1601        "grpc_client_channel",
1602    ],
1603)
1604
1605grpc_cc_library(
1606    name = "grpc_lb_subchannel_list",
1607    hdrs = [
1608        "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h",
1609    ],
1610    language = "c++",
1611    deps = [
1612        "grpc_base",
1613        "grpc_client_channel",
1614    ],
1615)
1616
1617grpc_cc_library(
1618    name = "grpc_lb_policy_pick_first",
1619    srcs = [
1620        "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
1621    ],
1622    language = "c++",
1623    deps = [
1624        "grpc_base",
1625        "grpc_client_channel",
1626        "grpc_lb_subchannel_list",
1627    ],
1628)
1629
1630grpc_cc_library(
1631    name = "grpc_lb_policy_ring_hash",
1632    srcs = [
1633        "src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc",
1634    ],
1635    hdrs = [
1636        "src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h",
1637    ],
1638    language = "c++",
1639    deps = [
1640        "grpc_base",
1641        "grpc_client_channel",
1642        "grpc_lb_subchannel_list",
1643    ],
1644)
1645
1646grpc_cc_library(
1647    name = "grpc_lb_policy_round_robin",
1648    srcs = [
1649        "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
1650    ],
1651    language = "c++",
1652    deps = [
1653        "grpc_base",
1654        "grpc_client_channel",
1655        "grpc_lb_subchannel_list",
1656    ],
1657)
1658
1659grpc_cc_library(
1660    name = "grpc_lb_policy_priority",
1661    srcs = [
1662        "src/core/ext/filters/client_channel/lb_policy/priority/priority.cc",
1663    ],
1664    external_deps = [
1665        "absl/strings",
1666    ],
1667    language = "c++",
1668    deps = [
1669        "grpc_base",
1670        "grpc_client_channel",
1671        "grpc_lb_address_filtering",
1672    ],
1673)
1674
1675grpc_cc_library(
1676    name = "grpc_lb_policy_weighted_target",
1677    srcs = [
1678        "src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
1679    ],
1680    language = "c++",
1681    deps = [
1682        "grpc_base",
1683        "grpc_client_channel",
1684        "grpc_lb_address_filtering",
1685    ],
1686)
1687
1688grpc_cc_library(
1689    name = "lb_server_load_reporting_filter",
1690    srcs = [
1691        "src/core/ext/filters/load_reporting/server_load_reporting_filter.cc",
1692    ],
1693    hdrs = [
1694        "src/core/ext/filters/load_reporting/registered_opencensus_objects.h",
1695        "src/core/ext/filters/load_reporting/server_load_reporting_filter.h",
1696        "src/cpp/server/load_reporter/constants.h",
1697    ],
1698    external_deps = [
1699        "opencensus-stats",
1700    ],
1701    language = "c++",
1702    deps = [
1703        "grpc++_base",
1704        "grpc_secure",
1705    ],
1706    alwayslink = 1,
1707)
1708
1709grpc_cc_library(
1710    name = "lb_load_data_store",
1711    srcs = [
1712        "src/cpp/server/load_reporter/load_data_store.cc",
1713    ],
1714    hdrs = [
1715        "src/cpp/server/load_reporter/constants.h",
1716        "src/cpp/server/load_reporter/load_data_store.h",
1717    ],
1718    language = "c++",
1719    deps = [
1720        "grpc++",
1721    ],
1722)
1723
1724grpc_cc_library(
1725    name = "lb_server_load_reporting_service_server_builder_plugin",
1726    srcs = [
1727        "src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.cc",
1728    ],
1729    hdrs = [
1730        "src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.h",
1731    ],
1732    language = "c++",
1733    deps = [
1734        "lb_load_reporter_service",
1735    ],
1736)
1737
1738grpc_cc_library(
1739    name = "grpcpp_server_load_reporting",
1740    srcs = [
1741        "src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc",
1742        "src/cpp/server/load_reporter/util.cc",
1743    ],
1744    language = "c++",
1745    public_hdrs = [
1746        "include/grpcpp/ext/server_load_reporting.h",
1747    ],
1748    deps = [
1749        "lb_server_load_reporting_filter",
1750        "lb_server_load_reporting_service_server_builder_plugin",
1751    ],
1752)
1753
1754grpc_cc_library(
1755    name = "lb_load_reporter_service",
1756    srcs = [
1757        "src/cpp/server/load_reporter/load_reporter_async_service_impl.cc",
1758    ],
1759    hdrs = [
1760        "src/cpp/server/load_reporter/load_reporter_async_service_impl.h",
1761    ],
1762    language = "c++",
1763    deps = [
1764        "lb_load_reporter",
1765    ],
1766)
1767
1768grpc_cc_library(
1769    name = "lb_get_cpu_stats",
1770    srcs = [
1771        "src/cpp/server/load_reporter/get_cpu_stats_linux.cc",
1772        "src/cpp/server/load_reporter/get_cpu_stats_macos.cc",
1773        "src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc",
1774        "src/cpp/server/load_reporter/get_cpu_stats_windows.cc",
1775    ],
1776    hdrs = [
1777        "src/cpp/server/load_reporter/get_cpu_stats.h",
1778    ],
1779    language = "c++",
1780    deps = [
1781        "grpc++",
1782    ],
1783)
1784
1785grpc_cc_library(
1786    name = "lb_load_reporter",
1787    srcs = [
1788        "src/cpp/server/load_reporter/load_reporter.cc",
1789    ],
1790    hdrs = [
1791        "src/cpp/server/load_reporter/constants.h",
1792        "src/cpp/server/load_reporter/load_reporter.h",
1793    ],
1794    external_deps = [
1795        "opencensus-stats",
1796    ],
1797    language = "c++",
1798    deps = [
1799        "lb_get_cpu_stats",
1800        "lb_load_data_store",
1801        "//src/proto/grpc/lb/v1:load_reporter_proto",
1802    ],
1803)
1804
1805grpc_cc_library(
1806    name = "grpc_resolver_dns_selection",
1807    srcs = [
1808        "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc",
1809    ],
1810    hdrs = [
1811        "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h",
1812    ],
1813    language = "c++",
1814    deps = [
1815        "grpc_base",
1816    ],
1817)
1818
1819grpc_cc_library(
1820    name = "grpc_resolver_dns_native",
1821    srcs = [
1822        "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
1823    ],
1824    language = "c++",
1825    deps = [
1826        "grpc_base",
1827        "grpc_client_channel",
1828        "grpc_resolver_dns_selection",
1829    ],
1830)
1831
1832grpc_cc_library(
1833    name = "grpc_resolver_dns_ares",
1834    srcs = [
1835        "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc",
1836        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc",
1837        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc",
1838        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc",
1839        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc",
1840        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc",
1841        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc",
1842        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc",
1843    ],
1844    hdrs = [
1845        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h",
1846        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h",
1847    ],
1848    external_deps = [
1849        "cares",
1850        "address_sorting",
1851    ],
1852    language = "c++",
1853    deps = [
1854        "grpc_base",
1855        "grpc_client_channel",
1856        "grpc_grpclb_balancer_addresses",
1857        "grpc_resolver_dns_selection",
1858    ],
1859)
1860
1861grpc_cc_library(
1862    name = "grpc_resolver_sockaddr",
1863    srcs = [
1864        "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
1865    ],
1866    language = "c++",
1867    deps = [
1868        "grpc_base",
1869        "grpc_client_channel",
1870    ],
1871)
1872
1873grpc_cc_library(
1874    name = "grpc_resolver_fake",
1875    srcs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc"],
1876    hdrs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"],
1877    language = "c++",
1878    visibility = ["//test:__subpackages__"],
1879    deps = [
1880        "grpc_base",
1881        "grpc_client_channel",
1882    ],
1883)
1884
1885grpc_cc_library(
1886    name = "grpc_resolver_xds_header",
1887    hdrs = [
1888        "src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h",
1889    ],
1890    language = "c++",
1891)
1892
1893grpc_cc_library(
1894    name = "grpc_resolver_xds",
1895    srcs = [
1896        "src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc",
1897    ],
1898    external_deps = [
1899        "xxhash",
1900    ],
1901    language = "c++",
1902    deps = [
1903        "grpc_base",
1904        "grpc_client_channel",
1905        "grpc_lb_policy_ring_hash",
1906        "grpc_xds_client",
1907    ],
1908)
1909
1910grpc_cc_library(
1911    name = "grpc_resolver_c2p",
1912    srcs = [
1913        "src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc",
1914    ],
1915    language = "c++",
1916    deps = [
1917        "grpc_base",
1918        "grpc_client_channel",
1919        "grpc_xds_client",
1920    ],
1921)
1922
1923grpc_cc_library(
1924    name = "grpc_secure",
1925    srcs = [
1926        "src/core/lib/http/httpcli_security_connector.cc",
1927        "src/core/lib/security/context/security_context.cc",
1928        "src/core/lib/security/credentials/alts/alts_credentials.cc",
1929        "src/core/lib/security/credentials/composite/composite_credentials.cc",
1930        "src/core/lib/security/credentials/credentials.cc",
1931        "src/core/lib/security/credentials/credentials_metadata.cc",
1932        "src/core/lib/security/credentials/external/aws_external_account_credentials.cc",
1933        "src/core/lib/security/credentials/external/aws_request_signer.cc",
1934        "src/core/lib/security/credentials/external/external_account_credentials.cc",
1935        "src/core/lib/security/credentials/external/file_external_account_credentials.cc",
1936        "src/core/lib/security/credentials/external/url_external_account_credentials.cc",
1937        "src/core/lib/security/credentials/fake/fake_credentials.cc",
1938        "src/core/lib/security/credentials/google_default/credentials_generic.cc",
1939        "src/core/lib/security/credentials/google_default/google_default_credentials.cc",
1940        "src/core/lib/security/credentials/iam/iam_credentials.cc",
1941        "src/core/lib/security/credentials/insecure/insecure_credentials.cc",
1942        "src/core/lib/security/credentials/jwt/json_token.cc",
1943        "src/core/lib/security/credentials/jwt/jwt_credentials.cc",
1944        "src/core/lib/security/credentials/jwt/jwt_verifier.cc",
1945        "src/core/lib/security/credentials/local/local_credentials.cc",
1946        "src/core/lib/security/credentials/oauth2/oauth2_credentials.cc",
1947        "src/core/lib/security/credentials/plugin/plugin_credentials.cc",
1948        "src/core/lib/security/credentials/ssl/ssl_credentials.cc",
1949        "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc",
1950        "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc",
1951        "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc",
1952        "src/core/lib/security/credentials/tls/tls_credentials.cc",
1953        "src/core/lib/security/credentials/tls/tls_utils.cc",
1954        "src/core/lib/security/security_connector/alts/alts_security_connector.cc",
1955        "src/core/lib/security/security_connector/fake/fake_security_connector.cc",
1956        "src/core/lib/security/security_connector/insecure/insecure_security_connector.cc",
1957        "src/core/lib/security/security_connector/load_system_roots_fallback.cc",
1958        "src/core/lib/security/security_connector/load_system_roots_linux.cc",
1959        "src/core/lib/security/security_connector/local/local_security_connector.cc",
1960        "src/core/lib/security/security_connector/security_connector.cc",
1961        "src/core/lib/security/security_connector/ssl/ssl_security_connector.cc",
1962        "src/core/lib/security/security_connector/ssl_utils.cc",
1963        "src/core/lib/security/security_connector/ssl_utils_config.cc",
1964        "src/core/lib/security/security_connector/tls/tls_security_connector.cc",
1965        "src/core/lib/security/transport/client_auth_filter.cc",
1966        "src/core/lib/security/transport/secure_endpoint.cc",
1967        "src/core/lib/security/transport/security_handshaker.cc",
1968        "src/core/lib/security/transport/server_auth_filter.cc",
1969        "src/core/lib/security/transport/tsi_error.cc",
1970        "src/core/lib/security/util/json_util.cc",
1971        "src/core/lib/surface/init_secure.cc",
1972    ],
1973    hdrs = [
1974        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1975        "src/core/ext/xds/xds_channel_args.h",
1976        "src/core/lib/security/context/security_context.h",
1977        "src/core/lib/security/credentials/alts/alts_credentials.h",
1978        "src/core/lib/security/credentials/composite/composite_credentials.h",
1979        "src/core/lib/security/credentials/credentials.h",
1980        "src/core/lib/security/credentials/external/aws_external_account_credentials.h",
1981        "src/core/lib/security/credentials/external/aws_request_signer.h",
1982        "src/core/lib/security/credentials/external/external_account_credentials.h",
1983        "src/core/lib/security/credentials/external/file_external_account_credentials.h",
1984        "src/core/lib/security/credentials/external/url_external_account_credentials.h",
1985        "src/core/lib/security/credentials/fake/fake_credentials.h",
1986        "src/core/lib/security/credentials/google_default/google_default_credentials.h",
1987        "src/core/lib/security/credentials/iam/iam_credentials.h",
1988        "src/core/lib/security/credentials/jwt/json_token.h",
1989        "src/core/lib/security/credentials/jwt/jwt_credentials.h",
1990        "src/core/lib/security/credentials/jwt/jwt_verifier.h",
1991        "src/core/lib/security/credentials/local/local_credentials.h",
1992        "src/core/lib/security/credentials/oauth2/oauth2_credentials.h",
1993        "src/core/lib/security/credentials/plugin/plugin_credentials.h",
1994        "src/core/lib/security/credentials/ssl/ssl_credentials.h",
1995        "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h",
1996        "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h",
1997        "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h",
1998        "src/core/lib/security/credentials/tls/tls_credentials.h",
1999        "src/core/lib/security/credentials/tls/tls_utils.h",
2000        "src/core/lib/security/security_connector/alts/alts_security_connector.h",
2001        "src/core/lib/security/security_connector/fake/fake_security_connector.h",
2002        "src/core/lib/security/security_connector/insecure/insecure_security_connector.h",
2003        "src/core/lib/security/security_connector/load_system_roots.h",
2004        "src/core/lib/security/security_connector/load_system_roots_linux.h",
2005        "src/core/lib/security/security_connector/local/local_security_connector.h",
2006        "src/core/lib/security/security_connector/security_connector.h",
2007        "src/core/lib/security/security_connector/ssl/ssl_security_connector.h",
2008        "src/core/lib/security/security_connector/ssl_utils.h",
2009        "src/core/lib/security/security_connector/ssl_utils_config.h",
2010        "src/core/lib/security/security_connector/tls/tls_security_connector.h",
2011        "src/core/lib/security/transport/auth_filters.h",
2012        "src/core/lib/security/transport/secure_endpoint.h",
2013        "src/core/lib/security/transport/security_handshaker.h",
2014        "src/core/lib/security/transport/tsi_error.h",
2015        "src/core/lib/security/util/json_util.h",
2016    ],
2017    language = "c++",
2018    public_hdrs = GRPC_SECURE_PUBLIC_HDRS,
2019    deps = [
2020        "alts_util",
2021        "grpc_base",
2022        "grpc_lb_xds_channel_args",
2023        "grpc_transport_chttp2_alpn",
2024        "tsi",
2025    ],
2026)
2027
2028grpc_cc_library(
2029    name = "grpc_mock_cel",
2030    hdrs = [
2031        "src/core/lib/security/authorization/mock_cel/activation.h",
2032        "src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h",
2033        "src/core/lib/security/authorization/mock_cel/cel_expression.h",
2034        "src/core/lib/security/authorization/mock_cel/cel_value.h",
2035        "src/core/lib/security/authorization/mock_cel/evaluator_core.h",
2036        "src/core/lib/security/authorization/mock_cel/flat_expr_builder.h",
2037    ],
2038    language = "c++",
2039    deps = [
2040        "google_api_upb",
2041        "grpc_base",
2042    ],
2043)
2044
2045# This target depends on RE2 and should not be linked into grpc by default for binary-size reasons.
2046grpc_cc_library(
2047    name = "grpc_matchers",
2048    srcs = [
2049        "src/core/lib/matchers/matchers.cc",
2050    ],
2051    hdrs = [
2052        "src/core/lib/matchers/matchers.h",
2053    ],
2054    external_deps = [
2055        "re2",
2056    ],
2057    language = "c++",
2058    deps = [
2059        "grpc_base",
2060    ],
2061)
2062
2063# This target pulls in a dependency on RE2 and should not be linked into grpc by default for binary-size reasons.
2064grpc_cc_library(
2065    name = "grpc_rbac_engine",
2066    srcs = [
2067        "src/core/lib/security/authorization/evaluate_args.cc",
2068        "src/core/lib/security/authorization/grpc_authorization_engine.cc",
2069        "src/core/lib/security/authorization/matchers.cc",
2070        "src/core/lib/security/authorization/rbac_policy.cc",
2071    ],
2072    hdrs = [
2073        "src/core/lib/security/authorization/authorization_engine.h",
2074        "src/core/lib/security/authorization/evaluate_args.h",
2075        "src/core/lib/security/authorization/grpc_authorization_engine.h",
2076        "src/core/lib/security/authorization/matchers.h",
2077        "src/core/lib/security/authorization/rbac_policy.h",
2078    ],
2079    language = "c++",
2080    deps = [
2081        "grpc_base",
2082        "grpc_matchers",
2083        "grpc_secure",
2084    ],
2085)
2086
2087# This target pulls in a dependency on RE2 and should not be linked into grpc by default for binary-size reasons.
2088grpc_cc_library(
2089    name = "grpc_authorization_provider",
2090    srcs = [
2091        "src/core/lib/security/authorization/rbac_translator.cc",
2092    ],
2093    hdrs = [
2094        "src/core/lib/security/authorization/rbac_translator.h",
2095    ],
2096    language = "c++",
2097    deps = [
2098        "grpc_matchers",
2099        "grpc_rbac_engine",
2100    ],
2101)
2102
2103# This target pulls in a dependency on RE2 and should not be linked into grpc by default for binary-size reasons.
2104grpc_cc_library(
2105    name = "grpc_cel_engine",
2106    srcs = [
2107        "src/core/lib/security/authorization/cel_authorization_engine.cc",
2108    ],
2109    hdrs = [
2110        "src/core/lib/security/authorization/cel_authorization_engine.h",
2111    ],
2112    external_deps = [
2113        "absl/container:flat_hash_set",
2114    ],
2115    language = "c++",
2116    deps = [
2117        "envoy_ads_upb",
2118        "google_api_upb",
2119        "grpc_base",
2120        "grpc_mock_cel",
2121        "grpc_rbac_engine",
2122    ],
2123)
2124
2125grpc_cc_library(
2126    name = "grpc_transport_chttp2",
2127    srcs = [
2128        "src/core/ext/transport/chttp2/transport/bin_decoder.cc",
2129        "src/core/ext/transport/chttp2/transport/bin_encoder.cc",
2130        "src/core/ext/transport/chttp2/transport/chttp2_plugin.cc",
2131        "src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
2132        "src/core/ext/transport/chttp2/transport/context_list.cc",
2133        "src/core/ext/transport/chttp2/transport/flow_control.cc",
2134        "src/core/ext/transport/chttp2/transport/frame_data.cc",
2135        "src/core/ext/transport/chttp2/transport/frame_goaway.cc",
2136        "src/core/ext/transport/chttp2/transport/frame_ping.cc",
2137        "src/core/ext/transport/chttp2/transport/frame_rst_stream.cc",
2138        "src/core/ext/transport/chttp2/transport/frame_settings.cc",
2139        "src/core/ext/transport/chttp2/transport/frame_window_update.cc",
2140        "src/core/ext/transport/chttp2/transport/hpack_encoder.cc",
2141        "src/core/ext/transport/chttp2/transport/hpack_parser.cc",
2142        "src/core/ext/transport/chttp2/transport/hpack_table.cc",
2143        "src/core/ext/transport/chttp2/transport/http2_settings.cc",
2144        "src/core/ext/transport/chttp2/transport/huffsyms.cc",
2145        "src/core/ext/transport/chttp2/transport/incoming_metadata.cc",
2146        "src/core/ext/transport/chttp2/transport/parsing.cc",
2147        "src/core/ext/transport/chttp2/transport/stream_lists.cc",
2148        "src/core/ext/transport/chttp2/transport/stream_map.cc",
2149        "src/core/ext/transport/chttp2/transport/varint.cc",
2150        "src/core/ext/transport/chttp2/transport/writing.cc",
2151    ],
2152    hdrs = [
2153        "src/core/ext/transport/chttp2/transport/bin_decoder.h",
2154        "src/core/ext/transport/chttp2/transport/bin_encoder.h",
2155        "src/core/ext/transport/chttp2/transport/chttp2_transport.h",
2156        "src/core/ext/transport/chttp2/transport/context_list.h",
2157        "src/core/ext/transport/chttp2/transport/flow_control.h",
2158        "src/core/ext/transport/chttp2/transport/frame.h",
2159        "src/core/ext/transport/chttp2/transport/frame_data.h",
2160        "src/core/ext/transport/chttp2/transport/frame_goaway.h",
2161        "src/core/ext/transport/chttp2/transport/frame_ping.h",
2162        "src/core/ext/transport/chttp2/transport/frame_rst_stream.h",
2163        "src/core/ext/transport/chttp2/transport/frame_settings.h",
2164        "src/core/ext/transport/chttp2/transport/frame_window_update.h",
2165        "src/core/ext/transport/chttp2/transport/hpack_encoder.h",
2166        "src/core/ext/transport/chttp2/transport/hpack_parser.h",
2167        "src/core/ext/transport/chttp2/transport/hpack_table.h",
2168        "src/core/ext/transport/chttp2/transport/http2_settings.h",
2169        "src/core/ext/transport/chttp2/transport/huffsyms.h",
2170        "src/core/ext/transport/chttp2/transport/incoming_metadata.h",
2171        "src/core/ext/transport/chttp2/transport/internal.h",
2172        "src/core/ext/transport/chttp2/transport/stream_map.h",
2173        "src/core/ext/transport/chttp2/transport/varint.h",
2174    ],
2175    language = "c++",
2176    deps = [
2177        "gpr_base",
2178        "grpc_base",
2179        "grpc_http_filters",
2180        "grpc_transport_chttp2_alpn",
2181    ],
2182)
2183
2184grpc_cc_library(
2185    name = "grpc_transport_chttp2_alpn",
2186    srcs = [
2187        "src/core/ext/transport/chttp2/alpn/alpn.cc",
2188    ],
2189    hdrs = [
2190        "src/core/ext/transport/chttp2/alpn/alpn.h",
2191    ],
2192    language = "c++",
2193    deps = [
2194        "gpr",
2195    ],
2196)
2197
2198grpc_cc_library(
2199    name = "grpc_transport_chttp2_client_connector",
2200    srcs = [
2201        "src/core/ext/transport/chttp2/client/authority.cc",
2202        "src/core/ext/transport/chttp2/client/chttp2_connector.cc",
2203    ],
2204    hdrs = [
2205        "src/core/ext/transport/chttp2/client/authority.h",
2206        "src/core/ext/transport/chttp2/client/chttp2_connector.h",
2207    ],
2208    language = "c++",
2209    deps = [
2210        "grpc_base",
2211        "grpc_client_channel",
2212        "grpc_transport_chttp2",
2213    ],
2214)
2215
2216grpc_cc_library(
2217    name = "grpc_transport_chttp2_client_insecure",
2218    srcs = [
2219        "src/core/ext/transport/chttp2/client/insecure/channel_create.cc",
2220        "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc",
2221    ],
2222    language = "c++",
2223    deps = [
2224        "grpc_base",
2225        "grpc_client_channel",
2226        "grpc_transport_chttp2",
2227        "grpc_transport_chttp2_client_connector",
2228    ],
2229)
2230
2231grpc_cc_library(
2232    name = "grpc_transport_chttp2_client_secure",
2233    srcs = [
2234        "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc",
2235    ],
2236    language = "c++",
2237    deps = [
2238        "grpc_base",
2239        "grpc_client_channel",
2240        "grpc_secure",
2241        "grpc_transport_chttp2",
2242        "grpc_transport_chttp2_client_connector",
2243    ],
2244)
2245
2246grpc_cc_library(
2247    name = "grpc_transport_chttp2_server",
2248    srcs = [
2249        "src/core/ext/transport/chttp2/server/chttp2_server.cc",
2250    ],
2251    hdrs = [
2252        "src/core/ext/transport/chttp2/server/chttp2_server.h",
2253    ],
2254    language = "c++",
2255    deps = [
2256        "grpc_base",
2257        "grpc_transport_chttp2",
2258    ],
2259)
2260
2261grpc_cc_library(
2262    name = "grpc_transport_chttp2_server_insecure",
2263    srcs = [
2264        "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc",
2265        "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc",
2266    ],
2267    language = "c++",
2268    deps = [
2269        "grpc_base",
2270        "grpc_transport_chttp2",
2271        "grpc_transport_chttp2_server",
2272    ],
2273)
2274
2275grpc_cc_library(
2276    name = "grpc_transport_chttp2_server_secure",
2277    srcs = [
2278        "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc",
2279    ],
2280    language = "c++",
2281    deps = [
2282        "grpc_base",
2283        "grpc_secure",
2284        "grpc_transport_chttp2",
2285        "grpc_transport_chttp2_server",
2286    ],
2287)
2288
2289grpc_cc_library(
2290    name = "grpc_transport_inproc",
2291    srcs = [
2292        "src/core/ext/transport/inproc/inproc_plugin.cc",
2293        "src/core/ext/transport/inproc/inproc_transport.cc",
2294    ],
2295    hdrs = [
2296        "src/core/ext/transport/inproc/inproc_transport.h",
2297    ],
2298    language = "c++",
2299    deps = [
2300        "grpc_base",
2301    ],
2302)
2303
2304grpc_cc_library(
2305    name = "tsi_interface",
2306    srcs = [
2307        "src/core/tsi/transport_security.cc",
2308    ],
2309    hdrs = [
2310        "src/core/tsi/transport_security.h",
2311        "src/core/tsi/transport_security_interface.h",
2312    ],
2313    language = "c++",
2314    deps = [
2315        "gpr",
2316        "grpc_trace",
2317    ],
2318)
2319
2320grpc_cc_library(
2321    name = "alts_frame_protector",
2322    srcs = [
2323        "src/core/tsi/alts/crypt/aes_gcm.cc",
2324        "src/core/tsi/alts/crypt/gsec.cc",
2325        "src/core/tsi/alts/frame_protector/alts_counter.cc",
2326        "src/core/tsi/alts/frame_protector/alts_crypter.cc",
2327        "src/core/tsi/alts/frame_protector/alts_frame_protector.cc",
2328        "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc",
2329        "src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc",
2330        "src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc",
2331        "src/core/tsi/alts/frame_protector/frame_handler.cc",
2332        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc",
2333        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc",
2334        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc",
2335        "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc",
2336        "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc",
2337    ],
2338    hdrs = [
2339        "src/core/tsi/alts/crypt/gsec.h",
2340        "src/core/tsi/alts/frame_protector/alts_counter.h",
2341        "src/core/tsi/alts/frame_protector/alts_crypter.h",
2342        "src/core/tsi/alts/frame_protector/alts_frame_protector.h",
2343        "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h",
2344        "src/core/tsi/alts/frame_protector/frame_handler.h",
2345        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h",
2346        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h",
2347        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h",
2348        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h",
2349        "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h",
2350        "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h",
2351        "src/core/tsi/transport_security_grpc.h",
2352    ],
2353    external_deps = [
2354        "libssl",
2355    ],
2356    language = "c++",
2357    deps = [
2358        "gpr",
2359        "grpc_base",
2360        "tsi_interface",
2361    ],
2362)
2363
2364grpc_cc_library(
2365    name = "alts_util",
2366    srcs = [
2367        "src/core/lib/security/credentials/alts/check_gcp_environment.cc",
2368        "src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
2369        "src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
2370        "src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
2371        "src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
2372        "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
2373        "src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
2374        "src/core/tsi/alts/handshaker/transport_security_common_api.cc",
2375    ],
2376    hdrs = [
2377        "src/core/lib/security/credentials/alts/check_gcp_environment.h",
2378        "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h",
2379        "src/core/tsi/alts/handshaker/transport_security_common_api.h",
2380    ],
2381    language = "c++",
2382    public_hdrs = GRPC_SECURE_PUBLIC_HDRS,
2383    deps = [
2384        "alts_upb",
2385        "gpr",
2386        "grpc_base",
2387    ],
2388)
2389
2390grpc_cc_library(
2391    name = "tsi",
2392    srcs = [
2393        "src/core/tsi/alts/handshaker/alts_handshaker_client.cc",
2394        "src/core/tsi/alts/handshaker/alts_shared_resource.cc",
2395        "src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc",
2396        "src/core/tsi/alts/handshaker/alts_tsi_utils.cc",
2397        "src/core/tsi/fake_transport_security.cc",
2398        "src/core/tsi/local_transport_security.cc",
2399        "src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc",
2400        "src/core/tsi/ssl/session_cache/ssl_session_cache.cc",
2401        "src/core/tsi/ssl/session_cache/ssl_session_openssl.cc",
2402        "src/core/tsi/ssl_transport_security.cc",
2403        "src/core/tsi/transport_security_grpc.cc",
2404    ],
2405    hdrs = [
2406        "src/core/tsi/alts/handshaker/alts_handshaker_client.h",
2407        "src/core/tsi/alts/handshaker/alts_shared_resource.h",
2408        "src/core/tsi/alts/handshaker/alts_tsi_handshaker.h",
2409        "src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h",
2410        "src/core/tsi/alts/handshaker/alts_tsi_utils.h",
2411        "src/core/tsi/fake_transport_security.h",
2412        "src/core/tsi/local_transport_security.h",
2413        "src/core/tsi/ssl/session_cache/ssl_session.h",
2414        "src/core/tsi/ssl/session_cache/ssl_session_cache.h",
2415        "src/core/tsi/ssl_transport_security.h",
2416        "src/core/tsi/ssl_types.h",
2417        "src/core/tsi/transport_security_grpc.h",
2418    ],
2419    external_deps = [
2420        "libssl",
2421    ],
2422    language = "c++",
2423    deps = [
2424        "alts_frame_protector",
2425        "alts_util",
2426        "gpr",
2427        "grpc_base",
2428        "grpc_transport_chttp2_client_insecure",
2429        "tsi_interface",
2430    ],
2431)
2432
2433grpc_cc_library(
2434    name = "grpc++_base",
2435    srcs = GRPCXX_SRCS,
2436    hdrs = GRPCXX_HDRS,
2437    external_deps = [
2438        "absl/synchronization",
2439        "protobuf_headers",
2440    ],
2441    language = "c++",
2442    public_hdrs = GRPCXX_PUBLIC_HDRS,
2443    deps = [
2444        "grpc",
2445        "grpc++_codegen_base",
2446        "grpc++_codegen_base_src",
2447        "grpc_health_upb",
2448    ],
2449)
2450
2451grpc_cc_library(
2452    name = "grpc++_base_unsecure",
2453    srcs = GRPCXX_SRCS,
2454    hdrs = GRPCXX_HDRS,
2455    external_deps = [
2456        "absl/synchronization",
2457        "protobuf_headers",
2458    ],
2459    language = "c++",
2460    public_hdrs = GRPCXX_PUBLIC_HDRS,
2461    deps = [
2462        "grpc++_codegen_base",
2463        "grpc++_codegen_base_src",
2464        "grpc_health_upb",
2465        "grpc_unsecure",
2466    ],
2467)
2468
2469grpc_cc_library(
2470    name = "grpc++_codegen_base",
2471    language = "c++",
2472    public_hdrs = [
2473        "include/grpc++/impl/codegen/async_stream.h",
2474        "include/grpc++/impl/codegen/async_unary_call.h",
2475        "include/grpc++/impl/codegen/byte_buffer.h",
2476        "include/grpc++/impl/codegen/call_hook.h",
2477        "include/grpc++/impl/codegen/call.h",
2478        "include/grpc++/impl/codegen/channel_interface.h",
2479        "include/grpc++/impl/codegen/client_context.h",
2480        "include/grpc++/impl/codegen/client_unary_call.h",
2481        "include/grpc++/impl/codegen/completion_queue_tag.h",
2482        "include/grpc++/impl/codegen/completion_queue.h",
2483        "include/grpc++/impl/codegen/config.h",
2484        "include/grpc++/impl/codegen/core_codegen_interface.h",
2485        "include/grpc++/impl/codegen/create_auth_context.h",
2486        "include/grpc++/impl/codegen/grpc_library.h",
2487        "include/grpc++/impl/codegen/metadata_map.h",
2488        "include/grpc++/impl/codegen/method_handler_impl.h",
2489        "include/grpc++/impl/codegen/rpc_method.h",
2490        "include/grpc++/impl/codegen/rpc_service_method.h",
2491        "include/grpc++/impl/codegen/security/auth_context.h",
2492        "include/grpc++/impl/codegen/serialization_traits.h",
2493        "include/grpc++/impl/codegen/server_context.h",
2494        "include/grpc++/impl/codegen/server_interface.h",
2495        "include/grpc++/impl/codegen/service_type.h",
2496        "include/grpc++/impl/codegen/slice.h",
2497        "include/grpc++/impl/codegen/status_code_enum.h",
2498        "include/grpc++/impl/codegen/status.h",
2499        "include/grpc++/impl/codegen/string_ref.h",
2500        "include/grpc++/impl/codegen/stub_options.h",
2501        "include/grpc++/impl/codegen/sync_stream.h",
2502        "include/grpc++/impl/codegen/time.h",
2503        "include/grpcpp/impl/codegen/async_generic_service.h",
2504        "include/grpcpp/impl/codegen/async_stream.h",
2505        "include/grpcpp/impl/codegen/async_unary_call.h",
2506        "include/grpcpp/impl/codegen/byte_buffer.h",
2507        "include/grpcpp/impl/codegen/call_hook.h",
2508        "include/grpcpp/impl/codegen/call_op_set_interface.h",
2509        "include/grpcpp/impl/codegen/call_op_set.h",
2510        "include/grpcpp/impl/codegen/call.h",
2511        "include/grpcpp/impl/codegen/callback_common.h",
2512        "include/grpcpp/impl/codegen/channel_interface.h",
2513        "include/grpcpp/impl/codegen/client_callback.h",
2514        "include/grpcpp/impl/codegen/client_context.h",
2515        "include/grpcpp/impl/codegen/client_interceptor.h",
2516        "include/grpcpp/impl/codegen/client_unary_call.h",
2517        "include/grpcpp/impl/codegen/completion_queue_tag.h",
2518        "include/grpcpp/impl/codegen/completion_queue.h",
2519        "include/grpcpp/impl/codegen/config.h",
2520        "include/grpcpp/impl/codegen/core_codegen_interface.h",
2521        "include/grpcpp/impl/codegen/create_auth_context.h",
2522        "include/grpcpp/impl/codegen/delegating_channel.h",
2523        "include/grpcpp/impl/codegen/grpc_library.h",
2524        "include/grpcpp/impl/codegen/intercepted_channel.h",
2525        "include/grpcpp/impl/codegen/interceptor_common.h",
2526        "include/grpcpp/impl/codegen/interceptor.h",
2527        "include/grpcpp/impl/codegen/message_allocator.h",
2528        "include/grpcpp/impl/codegen/metadata_map.h",
2529        "include/grpcpp/impl/codegen/method_handler_impl.h",
2530        "include/grpcpp/impl/codegen/method_handler.h",
2531        "include/grpcpp/impl/codegen/rpc_method.h",
2532        "include/grpcpp/impl/codegen/rpc_service_method.h",
2533        "include/grpcpp/impl/codegen/security/auth_context.h",
2534        "include/grpcpp/impl/codegen/serialization_traits.h",
2535        "include/grpcpp/impl/codegen/server_callback_handlers.h",
2536        "include/grpcpp/impl/codegen/server_callback.h",
2537        "include/grpcpp/impl/codegen/server_context.h",
2538        "include/grpcpp/impl/codegen/server_interceptor.h",
2539        "include/grpcpp/impl/codegen/server_interface.h",
2540        "include/grpcpp/impl/codegen/service_type.h",
2541        "include/grpcpp/impl/codegen/slice.h",
2542        "include/grpcpp/impl/codegen/status_code_enum.h",
2543        "include/grpcpp/impl/codegen/status.h",
2544        "include/grpcpp/impl/codegen/string_ref.h",
2545        "include/grpcpp/impl/codegen/stub_options.h",
2546        "include/grpcpp/impl/codegen/sync_stream.h",
2547        "include/grpcpp/impl/codegen/time.h",
2548    ],
2549    deps = [
2550        "grpc++_internal_hdrs_only",
2551        "grpc_codegen",
2552    ],
2553)
2554
2555grpc_cc_library(
2556    name = "grpc++_codegen_base_src",
2557    srcs = [
2558        "src/cpp/codegen/codegen_init.cc",
2559    ],
2560    language = "c++",
2561    deps = [
2562        "grpc++_codegen_base",
2563    ],
2564)
2565
2566grpc_cc_library(
2567    name = "grpc++_codegen_proto",
2568    external_deps = [
2569        "protobuf_headers",
2570    ],
2571    language = "c++",
2572    public_hdrs = [
2573        "include/grpc++/impl/codegen/proto_utils.h",
2574        "include/grpcpp/impl/codegen/proto_buffer_reader.h",
2575        "include/grpcpp/impl/codegen/proto_buffer_writer.h",
2576        "include/grpcpp/impl/codegen/proto_utils.h",
2577    ],
2578    deps = [
2579        "grpc++_codegen_base",
2580        "grpc++_config_proto",
2581    ],
2582)
2583
2584grpc_cc_library(
2585    name = "grpc++_config_proto",
2586    external_deps = [
2587        "protobuf_headers",
2588    ],
2589    language = "c++",
2590    public_hdrs = [
2591        "include/grpc++/impl/codegen/config_protobuf.h",
2592        "include/grpcpp/impl/codegen/config_protobuf.h",
2593    ],
2594)
2595
2596grpc_cc_library(
2597    name = "grpc++_reflection",
2598    srcs = [
2599        "src/cpp/ext/proto_server_reflection.cc",
2600        "src/cpp/ext/proto_server_reflection_plugin.cc",
2601    ],
2602    hdrs = [
2603        "src/cpp/ext/proto_server_reflection.h",
2604    ],
2605    language = "c++",
2606    public_hdrs = [
2607        "include/grpc++/ext/proto_server_reflection_plugin.h",
2608        "include/grpcpp/ext/proto_server_reflection_plugin.h",
2609    ],
2610    deps = [
2611        ":grpc++",
2612        "//src/proto/grpc/reflection/v1alpha:reflection_proto",
2613    ],
2614    alwayslink = 1,
2615)
2616
2617grpc_cc_library(
2618    name = "grpcpp_channelz",
2619    srcs = [
2620        "src/cpp/server/channelz/channelz_service.cc",
2621        "src/cpp/server/channelz/channelz_service_plugin.cc",
2622    ],
2623    hdrs = [
2624        "src/cpp/server/channelz/channelz_service.h",
2625    ],
2626    language = "c++",
2627    public_hdrs = [
2628        "include/grpcpp/ext/channelz_service_plugin.h",
2629    ],
2630    deps = [
2631        ":grpc++",
2632        "//src/proto/grpc/channelz:channelz_proto",
2633    ],
2634    alwayslink = 1,
2635)
2636
2637grpc_cc_library(
2638    name = "grpcpp_csds",
2639    srcs = [
2640        "src/cpp/server/csds/csds.cc",
2641    ],
2642    hdrs = [
2643        "src/cpp/server/csds/csds.h",
2644    ],
2645    language = "c++",
2646    deps = [
2647        ":grpc++_internals",
2648        "//src/proto/grpc/testing/xds/v3:csds_proto",
2649    ],
2650    alwayslink = 1,
2651)
2652
2653grpc_cc_library(
2654    name = "grpcpp_admin",
2655    srcs = [
2656        "src/cpp/server/admin/admin_services.cc",
2657    ],
2658    hdrs = [],
2659    defines = select({
2660        "grpc_no_xds": ["GRPC_NO_XDS"],
2661        "//conditions:default": [],
2662    }),
2663    external_deps = [
2664        "absl/memory",
2665    ],
2666    language = "c++",
2667    public_hdrs = [
2668        "include/grpcpp/ext/admin_services.h",
2669    ],
2670    select_deps = {
2671        "grpc_no_xds": [],
2672        "//conditions:default": ["//:grpcpp_csds"],
2673    },
2674    deps = [
2675        ":grpc++",
2676        ":grpcpp_channelz",
2677    ],
2678    alwayslink = 1,
2679)
2680
2681grpc_cc_library(
2682    name = "grpc++_test",
2683    srcs = [
2684        "src/cpp/client/channel_test_peer.cc",
2685    ],
2686    external_deps = [
2687        "gtest",
2688    ],
2689    public_hdrs = [
2690        "include/grpc++/test/mock_stream.h",
2691        "include/grpc++/test/server_context_test_spouse.h",
2692        "include/grpcpp/test/channel_test_peer.h",
2693        "include/grpcpp/test/default_reactor_test_peer.h",
2694        "include/grpcpp/test/mock_stream.h",
2695        "include/grpcpp/test/server_context_test_spouse.h",
2696    ],
2697    deps = [
2698        ":grpc++",
2699    ],
2700)
2701
2702grpc_cc_library(
2703    name = "grpc_server_backward_compatibility",
2704    srcs = [
2705        "src/core/ext/filters/workarounds/workaround_utils.cc",
2706    ],
2707    hdrs = [
2708        "src/core/ext/filters/workarounds/workaround_utils.h",
2709    ],
2710    language = "c++",
2711    deps = [
2712        "grpc_base",
2713    ],
2714)
2715
2716grpc_cc_library(
2717    name = "grpc++_core_stats",
2718    srcs = [
2719        "src/cpp/util/core_stats.cc",
2720    ],
2721    hdrs = [
2722        "src/cpp/util/core_stats.h",
2723    ],
2724    language = "c++",
2725    deps = [
2726        ":grpc++",
2727        "//src/proto/grpc/core:stats_proto",
2728    ],
2729)
2730
2731grpc_cc_library(
2732    name = "grpc_opencensus_plugin",
2733    srcs = [
2734        "src/cpp/ext/filters/census/channel_filter.cc",
2735        "src/cpp/ext/filters/census/client_filter.cc",
2736        "src/cpp/ext/filters/census/context.cc",
2737        "src/cpp/ext/filters/census/grpc_plugin.cc",
2738        "src/cpp/ext/filters/census/measures.cc",
2739        "src/cpp/ext/filters/census/rpc_encoding.cc",
2740        "src/cpp/ext/filters/census/server_filter.cc",
2741        "src/cpp/ext/filters/census/views.cc",
2742    ],
2743    hdrs = [
2744        "include/grpcpp/opencensus.h",
2745        "src/cpp/ext/filters/census/channel_filter.h",
2746        "src/cpp/ext/filters/census/client_filter.h",
2747        "src/cpp/ext/filters/census/context.h",
2748        "src/cpp/ext/filters/census/grpc_plugin.h",
2749        "src/cpp/ext/filters/census/measures.h",
2750        "src/cpp/ext/filters/census/rpc_encoding.h",
2751        "src/cpp/ext/filters/census/server_filter.h",
2752    ],
2753    external_deps = [
2754        "absl-base",
2755        "absl-time",
2756        "opencensus-trace",
2757        "opencensus-trace-context_util",
2758        "opencensus-trace-propagation",
2759        "opencensus-stats",
2760        "opencensus-context",
2761    ],
2762    language = "c++",
2763    deps = [
2764        ":census",
2765        ":grpc++",
2766    ],
2767)
2768
2769# Once upb code-gen issue is resolved, use the targets commented below to replace the ones using
2770# upb-generated files.
2771
2772# grpc_upb_proto_library(
2773#     name = "upb_load_report",
2774#     deps = ["@envoy_api//envoy/api/v2/endpoint:load_report_export"],
2775# )
2776#
2777# grpc_upb_proto_library(
2778#     name = "upb_lrs",
2779#     deps = ["@envoy_api//envoy/service/load_stats/v2:lrs_export"],
2780# )
2781#
2782# grpc_upb_proto_library(
2783#     name = "upb_cds",
2784#     deps = ["@envoy_api//envoy/api/v2:cds_export"],
2785# )
2786
2787# grpc_cc_library(
2788#    name = "envoy_lrs_upb",
2789#    external_deps = [
2790#        "upb_lib",
2791#    ],
2792#    language = "c++",
2793#    tags = ["no_windows"],
2794#    deps = [
2795#        ":upb_load_report",
2796#        ":upb_lrs",
2797#    ],
2798# )
2799
2800# grpc_cc_library(
2801#    name = "envoy_ads_upb",
2802#    external_deps = [
2803#        "upb_lib",
2804#    ],
2805#    language = "c++",
2806#    tags = ["no_windows"],
2807#    deps = [
2808#        ":upb_cds",
2809#    ],
2810# )
2811
2812grpc_cc_library(
2813    name = "envoy_ads_upb",
2814    srcs = [
2815        "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c",
2816        "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c",
2817        "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c",
2818        "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c",
2819        "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c",
2820        "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c",
2821        "src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c",
2822        "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c",
2823        "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c",
2824        "src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c",
2825        "src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c",
2826        "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c",
2827        "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c",
2828        "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c",
2829        "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c",
2830        "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c",
2831        "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c",
2832        "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c",
2833        "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c",
2834        "src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c",
2835        "src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c",
2836        "src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c",
2837        "src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c",
2838        "src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c",
2839        "src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c",
2840        "src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c",
2841        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c",
2842        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c",
2843        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c",
2844        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c",
2845        "src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c",
2846        "src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c",
2847        "src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c",
2848        "src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c",
2849        "src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c",
2850        "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c",
2851        "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c",
2852        "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c",
2853        "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c",
2854    ],
2855    hdrs = [
2856        "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h",
2857        "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h",
2858        "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h",
2859        "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h",
2860        "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h",
2861        "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h",
2862        "src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h",
2863        "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h",
2864        "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h",
2865        "src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h",
2866        "src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h",
2867        "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h",
2868        "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h",
2869        "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h",
2870        "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h",
2871        "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h",
2872        "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h",
2873        "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h",
2874        "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h",
2875        "src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h",
2876        "src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h",
2877        "src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h",
2878        "src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h",
2879        "src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h",
2880        "src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h",
2881        "src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h",
2882        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h",
2883        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h",
2884        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h",
2885        "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h",
2886        "src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h",
2887        "src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h",
2888        "src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h",
2889        "src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h",
2890        "src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h",
2891        "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h",
2892        "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h",
2893        "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h",
2894        "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h",
2895    ],
2896    external_deps = [
2897        "upb_lib",
2898        "upb_lib_descriptor",
2899    ],
2900    language = "c++",
2901    deps = [
2902        ":envoy_annotations_upb",
2903        ":envoy_core_upb",
2904        ":envoy_type_upb",
2905        ":google_api_upb",
2906        ":proto_gen_validate_upb",
2907        ":udpa_annotations_upb",
2908        ":xds_core_upb",
2909    ],
2910)
2911
2912grpc_cc_library(
2913    name = "envoy_ads_upbdefs",
2914    srcs = [
2915        "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c",
2916        "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c",
2917        "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c",
2918        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c",
2919        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c",
2920        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c",
2921        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c",
2922        "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c",
2923        "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c",
2924        "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c",
2925        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c",
2926        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c",
2927        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c",
2928        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c",
2929        "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c",
2930        "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c",
2931        "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c",
2932        "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c",
2933        "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c",
2934        "src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c",
2935        "src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c",
2936        "src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c",
2937        "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c",
2938        "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c",
2939        "src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c",
2940        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c",
2941        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c",
2942        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c",
2943        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c",
2944        "src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c",
2945        "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c",
2946        "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c",
2947        "src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c",
2948        "src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c",
2949        "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c",
2950        "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c",
2951        "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c",
2952        "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c",
2953    ],
2954    hdrs = [
2955        "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h",
2956        "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h",
2957        "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h",
2958        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h",
2959        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h",
2960        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h",
2961        "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h",
2962        "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h",
2963        "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h",
2964        "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h",
2965        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h",
2966        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h",
2967        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h",
2968        "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h",
2969        "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h",
2970        "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h",
2971        "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h",
2972        "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h",
2973        "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h",
2974        "src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h",
2975        "src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h",
2976        "src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h",
2977        "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h",
2978        "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h",
2979        "src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h",
2980        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h",
2981        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h",
2982        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h",
2983        "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h",
2984        "src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h",
2985        "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h",
2986        "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h",
2987        "src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h",
2988        "src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h",
2989        "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h",
2990        "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h",
2991        "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h",
2992        "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h",
2993    ],
2994    external_deps = [
2995        "upb_lib",
2996        "upb_lib_descriptor_reflection",
2997        "upb_textformat_lib",
2998    ],
2999    language = "c++",
3000    deps = [
3001        ":envoy_ads_upb",
3002        ":envoy_annotations_upbdefs",
3003        ":envoy_core_upbdefs",
3004        ":envoy_type_upbdefs",
3005        ":google_api_upbdefs",
3006        ":proto_gen_validate_upbdefs",
3007        ":udpa_annotations_upbdefs",
3008        ":xds_core_upbdefs",
3009    ],
3010)
3011
3012grpc_cc_library(
3013    name = "envoy_annotations_upb",
3014    srcs = [
3015        "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c",
3016        "src/core/ext/upb-generated/envoy/annotations/resource.upb.c",
3017    ],
3018    hdrs = [
3019        "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h",
3020        "src/core/ext/upb-generated/envoy/annotations/resource.upb.h",
3021    ],
3022    external_deps = [
3023        "upb_lib",
3024        "upb_lib_descriptor",
3025    ],
3026    language = "c++",
3027    deps = [
3028        ":google_api_upb",
3029    ],
3030)
3031
3032grpc_cc_library(
3033    name = "envoy_annotations_upbdefs",
3034    srcs = [
3035        "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c",
3036        "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c",
3037    ],
3038    hdrs = [
3039        "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h",
3040        "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h",
3041    ],
3042    external_deps = [
3043        "upb_lib",
3044        "upb_lib_descriptor_reflection",
3045        "upb_textformat_lib",
3046    ],
3047    language = "c++",
3048    deps = [
3049        ":envoy_annotations_upb",
3050        ":google_api_upbdefs",
3051    ],
3052)
3053
3054grpc_cc_library(
3055    name = "envoy_core_upb",
3056    srcs = [
3057        "src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c",
3058        "src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c",
3059        "src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c",
3060        "src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c",
3061        "src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c",
3062        "src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c",
3063        "src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c",
3064        "src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c",
3065        "src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c",
3066        "src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c",
3067        "src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c",
3068        "src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c",
3069        "src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c",
3070    ],
3071    hdrs = [
3072        "src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h",
3073        "src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h",
3074        "src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h",
3075        "src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h",
3076        "src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h",
3077        "src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h",
3078        "src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h",
3079        "src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h",
3080        "src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h",
3081        "src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h",
3082        "src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h",
3083        "src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h",
3084        "src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h",
3085    ],
3086    external_deps = [
3087        "upb_lib",
3088        "upb_lib_descriptor",
3089    ],
3090    language = "c++",
3091    deps = [
3092        ":envoy_annotations_upb",
3093        ":envoy_type_upb",
3094        ":google_api_upb",
3095        ":proto_gen_validate_upb",
3096        ":udpa_annotations_upb",
3097        ":xds_core_upb",
3098    ],
3099)
3100
3101grpc_cc_library(
3102    name = "envoy_core_upbdefs",
3103    srcs = [
3104        "src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c",
3105        "src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c",
3106        "src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c",
3107        "src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c",
3108        "src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c",
3109        "src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c",
3110        "src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c",
3111        "src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c",
3112        "src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c",
3113        "src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c",
3114        "src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c",
3115        "src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c",
3116        "src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c",
3117    ],
3118    hdrs = [
3119        "src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h",
3120        "src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h",
3121        "src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h",
3122        "src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h",
3123        "src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h",
3124        "src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h",
3125        "src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h",
3126        "src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h",
3127        "src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h",
3128        "src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h",
3129        "src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h",
3130        "src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h",
3131        "src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h",
3132    ],
3133    external_deps = [
3134        "upb_lib",
3135        "upb_lib_descriptor_reflection",
3136        "upb_textformat_lib",
3137    ],
3138    language = "c++",
3139    deps = [
3140        ":envoy_core_upb",
3141        ":envoy_type_upbdefs",
3142        ":google_api_upbdefs",
3143        ":proto_gen_validate_upbdefs",
3144    ],
3145)
3146
3147grpc_cc_library(
3148    name = "envoy_type_upb",
3149    srcs = [
3150        "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c",
3151        "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c",
3152        "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c",
3153        "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c",
3154        "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c",
3155        "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c",
3156        "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c",
3157        "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c",
3158        "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c",
3159        "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c",
3160        "src/core/ext/upb-generated/envoy/type/v3/http.upb.c",
3161        "src/core/ext/upb-generated/envoy/type/v3/percent.upb.c",
3162        "src/core/ext/upb-generated/envoy/type/v3/range.upb.c",
3163        "src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c",
3164    ],
3165    hdrs = [
3166        "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h",
3167        "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h",
3168        "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h",
3169        "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h",
3170        "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h",
3171        "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h",
3172        "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h",
3173        "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h",
3174        "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h",
3175        "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h",
3176        "src/core/ext/upb-generated/envoy/type/v3/http.upb.h",
3177        "src/core/ext/upb-generated/envoy/type/v3/percent.upb.h",
3178        "src/core/ext/upb-generated/envoy/type/v3/range.upb.h",
3179        "src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h",
3180    ],
3181    external_deps = [
3182        "upb_lib",
3183        "upb_lib_descriptor",
3184    ],
3185    language = "c++",
3186    deps = [
3187        ":envoy_annotations_upb",
3188        ":google_api_upb",
3189        ":proto_gen_validate_upb",
3190        ":udpa_annotations_upb",
3191    ],
3192)
3193
3194grpc_cc_library(
3195    name = "envoy_type_upbdefs",
3196    srcs = [
3197        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c",
3198        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c",
3199        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c",
3200        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c",
3201        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c",
3202        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c",
3203        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c",
3204        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c",
3205        "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c",
3206        "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c",
3207        "src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c",
3208        "src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c",
3209        "src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c",
3210        "src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c",
3211    ],
3212    hdrs = [
3213        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h",
3214        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h",
3215        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h",
3216        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h",
3217        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h",
3218        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h",
3219        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h",
3220        "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h",
3221        "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h",
3222        "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h",
3223        "src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h",
3224        "src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h",
3225        "src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h",
3226        "src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h",
3227    ],
3228    external_deps = [
3229        "upb_lib",
3230        "upb_lib_descriptor_reflection",
3231        "upb_textformat_lib",
3232    ],
3233    language = "c++",
3234    deps = [
3235        ":envoy_type_upb",
3236        ":google_api_upbdefs",
3237        ":proto_gen_validate_upbdefs",
3238    ],
3239)
3240
3241grpc_cc_library(
3242    name = "proto_gen_validate_upb",
3243    srcs = [
3244        "src/core/ext/upb-generated/validate/validate.upb.c",
3245    ],
3246    hdrs = [
3247        "src/core/ext/upb-generated/validate/validate.upb.h",
3248    ],
3249    external_deps = [
3250        "upb_lib",
3251        "upb_lib_descriptor",
3252    ],
3253    language = "c++",
3254    deps = [
3255        ":google_api_upb",
3256    ],
3257)
3258
3259grpc_cc_library(
3260    name = "proto_gen_validate_upbdefs",
3261    srcs = [
3262        "src/core/ext/upbdefs-generated/validate/validate.upbdefs.c",
3263    ],
3264    hdrs = [
3265        "src/core/ext/upbdefs-generated/validate/validate.upbdefs.h",
3266    ],
3267    external_deps = [
3268        "upb_lib",
3269        "upb_lib_descriptor_reflection",
3270        "upb_textformat_lib",
3271    ],
3272    language = "c++",
3273    deps = [
3274        ":google_api_upbdefs",
3275        ":proto_gen_validate_upb",
3276    ],
3277)
3278
3279# Once upb code-gen issue is resolved, replace udpa_orca_upb with this.
3280# grpc_upb_proto_library(
3281#     name = "udpa_orca_upb",
3282#     deps = ["@envoy_api//udpa/data/orca/v1:orca_load_report"]
3283# )
3284
3285grpc_cc_library(
3286    name = "udpa_orca_upb",
3287    srcs = [
3288        "src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c",
3289    ],
3290    hdrs = [
3291        "src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h",
3292    ],
3293    external_deps = [
3294        "upb_lib",
3295        "upb_lib_descriptor",
3296    ],
3297    language = "c++",
3298    deps = [
3299        ":proto_gen_validate_upb",
3300    ],
3301)
3302
3303grpc_cc_library(
3304    name = "udpa_annotations_upb",
3305    srcs = [
3306        "src/core/ext/upb-generated/udpa/annotations/migrate.upb.c",
3307        "src/core/ext/upb-generated/udpa/annotations/security.upb.c",
3308        "src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c",
3309        "src/core/ext/upb-generated/udpa/annotations/status.upb.c",
3310        "src/core/ext/upb-generated/udpa/annotations/versioning.upb.c",
3311    ],
3312    hdrs = [
3313        "src/core/ext/upb-generated/udpa/annotations/migrate.upb.h",
3314        "src/core/ext/upb-generated/udpa/annotations/security.upb.h",
3315        "src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h",
3316        "src/core/ext/upb-generated/udpa/annotations/status.upb.h",
3317        "src/core/ext/upb-generated/udpa/annotations/versioning.upb.h",
3318    ],
3319    external_deps = [
3320        "upb_lib",
3321        "upb_lib_descriptor",
3322    ],
3323    language = "c++",
3324    deps = [
3325        ":google_api_upb",
3326        ":proto_gen_validate_upb",
3327    ],
3328)
3329
3330grpc_cc_library(
3331    name = "udpa_annotations_upbdefs",
3332    srcs = [
3333        "src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c",
3334        "src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c",
3335        "src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c",
3336        "src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c",
3337        "src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c",
3338    ],
3339    hdrs = [
3340        "src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h",
3341        "src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h",
3342        "src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h",
3343        "src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h",
3344        "src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h",
3345    ],
3346    external_deps = [
3347        "upb_lib",
3348        "upb_lib_descriptor_reflection",
3349        "upb_textformat_lib",
3350    ],
3351    language = "c++",
3352    deps = [
3353        ":google_api_upbdefs",
3354        ":udpa_annotations_upb",
3355    ],
3356)
3357
3358grpc_cc_library(
3359    name = "xds_core_upb",
3360    srcs = [
3361        "src/core/ext/upb-generated/xds/core/v3/authority.upb.c",
3362        "src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c",
3363        "src/core/ext/upb-generated/xds/core/v3/context_params.upb.c",
3364        "src/core/ext/upb-generated/xds/core/v3/resource.upb.c",
3365        "src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c",
3366        "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c",
3367    ],
3368    hdrs = [
3369        "src/core/ext/upb-generated/xds/core/v3/authority.upb.h",
3370        "src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h",
3371        "src/core/ext/upb-generated/xds/core/v3/context_params.upb.h",
3372        "src/core/ext/upb-generated/xds/core/v3/resource.upb.h",
3373        "src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h",
3374        "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h",
3375    ],
3376    external_deps = [
3377        "upb_lib",
3378        "upb_lib_descriptor",
3379    ],
3380    language = "c++",
3381    deps = [
3382        ":google_api_upb",
3383        ":proto_gen_validate_upb",
3384        ":udpa_annotations_upb",
3385    ],
3386)
3387
3388grpc_cc_library(
3389    name = "xds_core_upbdefs",
3390    srcs = [
3391        "src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c",
3392        "src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c",
3393        "src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c",
3394        "src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c",
3395        "src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c",
3396        "src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c",
3397    ],
3398    hdrs = [
3399        "src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h",
3400        "src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h",
3401        "src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h",
3402        "src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h",
3403        "src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h",
3404        "src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h",
3405    ],
3406    external_deps = [
3407        "upb_lib",
3408        "upb_lib_descriptor_reflection",
3409        "upb_textformat_lib",
3410    ],
3411    language = "c++",
3412    deps = [
3413        ":google_api_upbdefs",
3414        ":proto_gen_validate_upbdefs",
3415        ":udpa_annotations_upbdefs",
3416        ":xds_core_upb",
3417    ],
3418)
3419
3420grpc_cc_library(
3421    name = "udpa_type_upb",
3422    srcs = [
3423        "src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c",
3424    ],
3425    hdrs = [
3426        "src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h",
3427    ],
3428    external_deps = [
3429        "upb_lib",
3430        "upb_lib_descriptor",
3431    ],
3432    language = "c++",
3433    deps = [
3434        ":google_api_upb",
3435        ":proto_gen_validate_upb",
3436    ],
3437)
3438
3439grpc_cc_library(
3440    name = "udpa_type_upbdefs",
3441    srcs = [
3442        "src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c",
3443    ],
3444    hdrs = [
3445        "src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h",
3446    ],
3447    external_deps = [
3448        "upb_lib",
3449        "upb_lib_descriptor_reflection",
3450        "upb_textformat_lib",
3451    ],
3452    language = "c++",
3453    deps = [
3454        ":google_api_upbdefs",
3455        ":proto_gen_validate_upbdefs",
3456    ],
3457)
3458
3459# Once upb code-gen issue is resolved, replace grpc_health_upb with this.
3460# grpc_upb_proto_library(
3461#     name = "grpc_health_upb",
3462#     deps = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
3463# )
3464
3465grpc_cc_library(
3466    name = "grpc_health_upb",
3467    srcs = [
3468        "src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c",
3469    ],
3470    hdrs = [
3471        "src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h",
3472    ],
3473    external_deps = [
3474        "upb_lib",
3475        "upb_lib_descriptor",
3476    ],
3477    language = "c++",
3478)
3479
3480# Once upb code-gen issue is resolved, remove this.
3481grpc_cc_library(
3482    name = "google_api_upb",
3483    srcs = [
3484        "src/core/ext/upb-generated/google/api/annotations.upb.c",
3485        "src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c",
3486        "src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c",
3487        "src/core/ext/upb-generated/google/api/http.upb.c",
3488        "src/core/ext/upb-generated/google/protobuf/any.upb.c",
3489        "src/core/ext/upb-generated/google/protobuf/duration.upb.c",
3490        "src/core/ext/upb-generated/google/protobuf/empty.upb.c",
3491        "src/core/ext/upb-generated/google/protobuf/struct.upb.c",
3492        "src/core/ext/upb-generated/google/protobuf/timestamp.upb.c",
3493        "src/core/ext/upb-generated/google/protobuf/wrappers.upb.c",
3494        "src/core/ext/upb-generated/google/rpc/status.upb.c",
3495    ],
3496    hdrs = [
3497        "src/core/ext/upb-generated/google/api/annotations.upb.h",
3498        "src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h",
3499        "src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h",
3500        "src/core/ext/upb-generated/google/api/http.upb.h",
3501        "src/core/ext/upb-generated/google/protobuf/any.upb.h",
3502        "src/core/ext/upb-generated/google/protobuf/duration.upb.h",
3503        "src/core/ext/upb-generated/google/protobuf/empty.upb.h",
3504        "src/core/ext/upb-generated/google/protobuf/struct.upb.h",
3505        "src/core/ext/upb-generated/google/protobuf/timestamp.upb.h",
3506        "src/core/ext/upb-generated/google/protobuf/wrappers.upb.h",
3507        "src/core/ext/upb-generated/google/rpc/status.upb.h",
3508    ],
3509    external_deps = [
3510        "upb_lib",
3511        "upb_lib_descriptor",
3512    ],
3513    language = "c++",
3514)
3515
3516grpc_cc_library(
3517    name = "google_api_upbdefs",
3518    srcs = [
3519        "src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c",
3520        "src/core/ext/upbdefs-generated/google/api/http.upbdefs.c",
3521        "src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c",
3522        "src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c",
3523        "src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c",
3524        "src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c",
3525        "src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c",
3526        "src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c",
3527        "src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c",
3528    ],
3529    hdrs = [
3530        "src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h",
3531        "src/core/ext/upbdefs-generated/google/api/http.upbdefs.h",
3532        "src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h",
3533        "src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h",
3534        "src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h",
3535        "src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h",
3536        "src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h",
3537        "src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h",
3538        "src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h",
3539    ],
3540    external_deps = [
3541        "upb_lib",
3542        "upb_lib_descriptor_reflection",
3543        "upb_textformat_lib",
3544    ],
3545    language = "c++",
3546    deps = [
3547        ":google_api_upb",
3548    ],
3549)
3550
3551# Once upb code-gen issue is resolved, replace grpc_lb_upb with this.
3552# grpc_upb_proto_library(
3553#     name = "grpc_lb_upb",
3554#     deps = ["//src/proto/grpc/lb/v1:load_balancer_proto_descriptor"],
3555# )
3556
3557grpc_cc_library(
3558    name = "grpc_lb_upb",
3559    srcs = [
3560        "src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c",
3561    ],
3562    hdrs = [
3563        "src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h",
3564    ],
3565    external_deps = [
3566        "upb_lib",
3567        "upb_lib_descriptor",
3568    ],
3569    language = "c++",
3570    deps = [
3571        "google_api_upb",
3572    ],
3573)
3574
3575# Once upb code-gen issue is resolved, replace meshca_upb with this.
3576# meshca_upb_proto_library(
3577#     name = "meshca_upb",
3578#     deps = ["//third_party/istio/security/proto/providers/google:meshca_proto"],
3579# )
3580
3581grpc_cc_library(
3582    name = "meshca_upb",
3583    srcs = [
3584        "src/core/ext/upb-generated/third_party/istio/security/proto/providers/google/meshca.upb.c",
3585    ],
3586    hdrs = [
3587        "src/core/ext/upb-generated/third_party/istio/security/proto/providers/google/meshca.upb.h",
3588    ],
3589    language = "c++",
3590    deps = [
3591        "google_api_upb",
3592    ],
3593)
3594
3595# Once upb code-gen issue is resolved, replace alts_upb with this.
3596# grpc_upb_proto_library(
3597#     name = "alts_upb",
3598#     deps = ["//src/proto/grpc/gcp:alts_handshaker_proto"],
3599# )
3600
3601grpc_cc_library(
3602    name = "alts_upb",
3603    srcs = [
3604        "src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c",
3605        "src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c",
3606        "src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c",
3607    ],
3608    hdrs = [
3609        "src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h",
3610        "src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h",
3611        "src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h",
3612    ],
3613    external_deps = [
3614        "upb_lib",
3615        "upb_lib_descriptor",
3616    ],
3617    language = "c++",
3618)
3619
3620grpc_generate_one_off_targets()
3621
3622filegroup(
3623    name = "root_certificates",
3624    srcs = [
3625        "etc/roots.pem",
3626    ],
3627    visibility = ["//visibility:public"],
3628)
3629