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