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