• 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"])  # Apache v2
18
19exports_files(["LICENSE"])
20
21package(
22    default_visibility = ["//visibility:public"],
23    features = [
24        "-layering_check",
25        "-parse_headers",
26    ],
27)
28
29load(
30    "//bazel:grpc_build_system.bzl",
31    "grpc_cc_library",
32    "grpc_generate_one_off_targets",
33    "grpc_proto_plugin",
34)
35
36config_setting(
37    name = "grpc_no_ares",
38    values = {"define": "grpc_no_ares=true"},
39)
40
41config_setting(
42    name = "grpc_allow_exceptions",
43    values = {"define": "GRPC_ALLOW_EXCEPTIONS=1"},
44)
45
46config_setting(
47    name = "grpc_disallow_exceptions",
48    values = {"define": "GRPC_ALLOW_EXCEPTIONS=0"},
49)
50
51config_setting(
52    name = "remote_execution",
53    values = {"define": "GRPC_PORT_ISOLATED_RUNTIME=1"},
54)
55
56config_setting(
57    name = "windows",
58    values = {"cpu": "x64_windows"},
59)
60
61config_setting(
62    name = "windows_msvc",
63    values = {"cpu": "x64_windows_msvc"},
64)
65
66# This should be updated along with build.yaml
67g_stands_for = "gao"
68
69core_version = "6.0.0-dev"
70
71version = "1.16.0-dev"
72
73GPR_PUBLIC_HDRS = [
74    "include/grpc/support/alloc.h",
75    "include/grpc/support/atm.h",
76    "include/grpc/support/atm_gcc_atomic.h",
77    "include/grpc/support/atm_gcc_sync.h",
78    "include/grpc/support/atm_windows.h",
79    "include/grpc/support/cpu.h",
80    "include/grpc/support/log.h",
81    "include/grpc/support/log_windows.h",
82    "include/grpc/support/port_platform.h",
83    "include/grpc/support/string_util.h",
84    "include/grpc/support/sync.h",
85    "include/grpc/support/sync_custom.h",
86    "include/grpc/support/sync_generic.h",
87    "include/grpc/support/sync_posix.h",
88    "include/grpc/support/sync_windows.h",
89    "include/grpc/support/thd_id.h",
90    "include/grpc/support/time.h",
91]
92
93GRPC_PUBLIC_HDRS = [
94    "include/grpc/byte_buffer.h",
95    "include/grpc/byte_buffer_reader.h",
96    "include/grpc/compression.h",
97    "include/grpc/fork.h",
98    "include/grpc/grpc.h",
99    "include/grpc/grpc_posix.h",
100    "include/grpc/grpc_security_constants.h",
101    "include/grpc/slice.h",
102    "include/grpc/slice_buffer.h",
103    "include/grpc/status.h",
104    "include/grpc/load_reporting.h",
105    "include/grpc/support/workaround_list.h",
106]
107
108GRPC_SECURE_PUBLIC_HDRS = [
109    "include/grpc/grpc_security.h",
110]
111
112# TODO(ctiller): layer grpc atop grpc_unsecure, layer grpc++ atop grpc++_unsecure
113GRPCXX_SRCS = [
114    "src/cpp/client/channel_cc.cc",
115    "src/cpp/client/client_context.cc",
116    "src/cpp/client/create_channel.cc",
117    "src/cpp/client/create_channel_internal.cc",
118    "src/cpp/client/create_channel_posix.cc",
119    "src/cpp/client/credentials_cc.cc",
120    "src/cpp/client/generic_stub.cc",
121    "src/cpp/common/alarm.cc",
122    "src/cpp/common/channel_arguments.cc",
123    "src/cpp/common/channel_filter.cc",
124    "src/cpp/common/completion_queue_cc.cc",
125    "src/cpp/common/core_codegen.cc",
126    "src/cpp/common/resource_quota_cc.cc",
127    "src/cpp/common/rpc_method.cc",
128    "src/cpp/common/version_cc.cc",
129    "src/cpp/server/async_generic_service.cc",
130    "src/cpp/server/channel_argument_option.cc",
131    "src/cpp/server/create_default_thread_pool.cc",
132    "src/cpp/server/dynamic_thread_pool.cc",
133    "src/cpp/server/health/default_health_check_service.cc",
134    "src/cpp/server/health/health.pb.c",
135    "src/cpp/server/health/health_check_service.cc",
136    "src/cpp/server/health/health_check_service_server_builder_option.cc",
137    "src/cpp/server/server_builder.cc",
138    "src/cpp/server/server_cc.cc",
139    "src/cpp/server/server_context.cc",
140    "src/cpp/server/server_credentials.cc",
141    "src/cpp/server/server_posix.cc",
142    "src/cpp/thread_manager/thread_manager.cc",
143    "src/cpp/util/byte_buffer_cc.cc",
144    "src/cpp/util/status.cc",
145    "src/cpp/util/string_ref.cc",
146    "src/cpp/util/time_cc.cc",
147]
148
149GRPCXX_HDRS = [
150    "src/cpp/client/create_channel_internal.h",
151    "src/cpp/common/channel_filter.h",
152    "src/cpp/server/dynamic_thread_pool.h",
153    "src/cpp/server/health/default_health_check_service.h",
154    "src/cpp/server/health/health.pb.h",
155    "src/cpp/server/thread_pool_interface.h",
156    "src/cpp/thread_manager/thread_manager.h",
157]
158
159GRPCXX_PUBLIC_HDRS = [
160    "include/grpc++/alarm.h",
161    "include/grpc++/channel.h",
162    "include/grpc++/client_context.h",
163    "include/grpc++/completion_queue.h",
164    "include/grpc++/create_channel.h",
165    "include/grpc++/create_channel_posix.h",
166    "include/grpc++/ext/health_check_service_server_builder_option.h",
167    "include/grpc++/generic/async_generic_service.h",
168    "include/grpc++/generic/generic_stub.h",
169    "include/grpc++/grpc++.h",
170    "include/grpc++/health_check_service_interface.h",
171    "include/grpc++/impl/call.h",
172    "include/grpc++/impl/channel_argument_option.h",
173    "include/grpc++/impl/client_unary_call.h",
174    "include/grpc++/impl/codegen/core_codegen.h",
175    "include/grpc++/impl/grpc_library.h",
176    "include/grpc++/impl/method_handler_impl.h",
177    "include/grpc++/impl/rpc_method.h",
178    "include/grpc++/impl/rpc_service_method.h",
179    "include/grpc++/impl/serialization_traits.h",
180    "include/grpc++/impl/server_builder_option.h",
181    "include/grpc++/impl/server_builder_plugin.h",
182    "include/grpc++/impl/server_initializer.h",
183    "include/grpc++/impl/service_type.h",
184    "include/grpc++/impl/sync_cxx11.h",
185    "include/grpc++/impl/sync_no_cxx11.h",
186    "include/grpc++/resource_quota.h",
187    "include/grpc++/security/auth_context.h",
188    "include/grpc++/security/auth_metadata_processor.h",
189    "include/grpc++/security/credentials.h",
190    "include/grpc++/security/server_credentials.h",
191    "include/grpc++/server.h",
192    "include/grpc++/server_builder.h",
193    "include/grpc++/server_context.h",
194    "include/grpc++/server_posix.h",
195    "include/grpc++/support/async_stream.h",
196    "include/grpc++/support/async_unary_call.h",
197    "include/grpc++/support/byte_buffer.h",
198    "include/grpc++/support/channel_arguments.h",
199    "include/grpc++/support/config.h",
200    "include/grpc++/support/slice.h",
201    "include/grpc++/support/status.h",
202    "include/grpc++/support/status_code_enum.h",
203    "include/grpc++/support/string_ref.h",
204    "include/grpc++/support/stub_options.h",
205    "include/grpc++/support/sync_stream.h",
206    "include/grpc++/support/time.h",
207    "include/grpcpp/alarm.h",
208    "include/grpcpp/channel.h",
209    "include/grpcpp/client_context.h",
210    "include/grpcpp/completion_queue.h",
211    "include/grpcpp/create_channel.h",
212    "include/grpcpp/create_channel_posix.h",
213    "include/grpcpp/ext/health_check_service_server_builder_option.h",
214    "include/grpcpp/generic/async_generic_service.h",
215    "include/grpcpp/generic/generic_stub.h",
216    "include/grpcpp/grpcpp.h",
217    "include/grpcpp/health_check_service_interface.h",
218    "include/grpcpp/impl/call.h",
219    "include/grpcpp/impl/channel_argument_option.h",
220    "include/grpcpp/impl/client_unary_call.h",
221    "include/grpcpp/impl/codegen/core_codegen.h",
222    "include/grpcpp/impl/grpc_library.h",
223    "include/grpcpp/impl/method_handler_impl.h",
224    "include/grpcpp/impl/rpc_method.h",
225    "include/grpcpp/impl/rpc_service_method.h",
226    "include/grpcpp/impl/serialization_traits.h",
227    "include/grpcpp/impl/server_builder_option.h",
228    "include/grpcpp/impl/server_builder_plugin.h",
229    "include/grpcpp/impl/server_initializer.h",
230    "include/grpcpp/impl/service_type.h",
231    "include/grpcpp/impl/sync_cxx11.h",
232    "include/grpcpp/impl/sync_no_cxx11.h",
233    "include/grpcpp/resource_quota.h",
234    "include/grpcpp/security/auth_context.h",
235    "include/grpcpp/security/auth_metadata_processor.h",
236    "include/grpcpp/security/credentials.h",
237    "include/grpcpp/security/server_credentials.h",
238    "include/grpcpp/server.h",
239    "include/grpcpp/server_builder.h",
240    "include/grpcpp/server_context.h",
241    "include/grpcpp/server_posix.h",
242    "include/grpcpp/support/async_stream.h",
243    "include/grpcpp/support/async_unary_call.h",
244    "include/grpcpp/support/byte_buffer.h",
245    "include/grpcpp/support/channel_arguments.h",
246    "include/grpcpp/support/client_callback.h",
247    "include/grpcpp/support/config.h",
248    "include/grpcpp/support/proto_buffer_reader.h",
249    "include/grpcpp/support/proto_buffer_writer.h",
250    "include/grpcpp/support/slice.h",
251    "include/grpcpp/support/status.h",
252    "include/grpcpp/support/status_code_enum.h",
253    "include/grpcpp/support/string_ref.h",
254    "include/grpcpp/support/stub_options.h",
255    "include/grpcpp/support/sync_stream.h",
256    "include/grpcpp/support/time.h",
257]
258
259grpc_cc_library(
260    name = "gpr",
261    language = "c++",
262    public_hdrs = GPR_PUBLIC_HDRS,
263    standalone = True,
264    deps = [
265        "gpr_base",
266    ],
267)
268
269grpc_cc_library(
270    name = "grpc_unsecure",
271    srcs = [
272        "src/core/lib/surface/init.cc",
273        "src/core/lib/surface/init_unsecure.cc",
274        "src/core/plugin_registry/grpc_unsecure_plugin_registry.cc",
275    ],
276    language = "c++",
277    public_hdrs = GRPC_PUBLIC_HDRS,
278    standalone = True,
279    deps = [
280        "grpc_common",
281        "grpc_lb_policy_grpclb",
282    ],
283)
284
285grpc_cc_library(
286    name = "grpc",
287    srcs = [
288        "src/core/lib/surface/init.cc",
289        "src/core/plugin_registry/grpc_plugin_registry.cc",
290    ],
291    language = "c++",
292    public_hdrs = GRPC_PUBLIC_HDRS + GRPC_SECURE_PUBLIC_HDRS,
293    standalone = True,
294    deps = [
295        "grpc_common",
296        "grpc_lb_policy_grpclb_secure",
297        "grpc_secure",
298        "grpc_transport_chttp2_client_secure",
299        "grpc_transport_chttp2_server_secure",
300    ],
301)
302
303grpc_cc_library(
304    name = "grpc_cronet",
305    srcs = [
306        "src/core/lib/surface/init.cc",
307        "src/core/plugin_registry/grpc_cronet_plugin_registry.cc",
308    ],
309    language = "c++",
310    deps = [
311        "grpc_base",
312        "grpc_http_filters",
313        "grpc_transport_chttp2_client_secure",
314        "grpc_transport_cronet_client_secure",
315    ],
316)
317
318grpc_cc_library(
319    name = "grpc++_public_hdrs",
320    hdrs = GRPCXX_PUBLIC_HDRS,
321)
322
323grpc_cc_library(
324    name = "grpc++",
325    srcs = [
326        "src/cpp/client/insecure_credentials.cc",
327        "src/cpp/client/secure_credentials.cc",
328        "src/cpp/common/auth_property_iterator.cc",
329        "src/cpp/common/secure_auth_context.cc",
330        "src/cpp/common/secure_channel_arguments.cc",
331        "src/cpp/common/secure_create_auth_context.cc",
332        "src/cpp/server/insecure_server_credentials.cc",
333        "src/cpp/server/secure_server_credentials.cc",
334    ],
335    hdrs = [
336        "src/cpp/client/secure_credentials.h",
337        "src/cpp/common/secure_auth_context.h",
338        "src/cpp/server/secure_server_credentials.h",
339    ],
340    language = "c++",
341    public_hdrs = GRPCXX_PUBLIC_HDRS,
342    standalone = True,
343    deps = [
344        "gpr",
345        "grpc",
346        "grpc++_base",
347        "grpc++_codegen_base",
348        "grpc++_codegen_base_src",
349        "grpc++_codegen_proto",
350    ],
351)
352
353grpc_cc_library(
354    name = "grpc++_unsecure",
355    srcs = [
356        "src/cpp/client/insecure_credentials.cc",
357        "src/cpp/common/insecure_create_auth_context.cc",
358        "src/cpp/server/insecure_server_credentials.cc",
359    ],
360    language = "c++",
361    standalone = True,
362    deps = [
363        "gpr",
364        "grpc++_base_unsecure",
365        "grpc++_codegen_base",
366        "grpc++_codegen_base_src",
367        "grpc++_codegen_proto",
368        "grpc_unsecure",
369    ],
370)
371
372grpc_cc_library(
373    name = "grpc++_error_details",
374    srcs = [
375        "src/cpp/util/error_details.cc",
376    ],
377    hdrs = [
378        "include/grpc++/support/error_details.h",
379        "include/grpcpp/support/error_details.h",
380    ],
381    language = "c++",
382    standalone = True,
383    deps = [
384        "grpc++",
385        "//src/proto/grpc/status:status_proto",
386    ],
387)
388
389grpc_cc_library(
390    name = "grpc_plugin_support",
391    srcs = [
392        "src/compiler/cpp_generator.cc",
393        "src/compiler/csharp_generator.cc",
394        "src/compiler/node_generator.cc",
395        "src/compiler/objective_c_generator.cc",
396        "src/compiler/php_generator.cc",
397        "src/compiler/python_generator.cc",
398        "src/compiler/ruby_generator.cc",
399    ],
400    hdrs = [
401        "src/compiler/config.h",
402        "src/compiler/cpp_generator.h",
403        "src/compiler/cpp_generator_helpers.h",
404        "src/compiler/csharp_generator.h",
405        "src/compiler/csharp_generator_helpers.h",
406        "src/compiler/generator_helpers.h",
407        "src/compiler/node_generator.h",
408        "src/compiler/node_generator_helpers.h",
409        "src/compiler/objective_c_generator.h",
410        "src/compiler/objective_c_generator_helpers.h",
411        "src/compiler/php_generator.h",
412        "src/compiler/php_generator_helpers.h",
413        "src/compiler/protobuf_plugin.h",
414        "src/compiler/python_generator.h",
415        "src/compiler/python_generator_helpers.h",
416        "src/compiler/python_private_generator.h",
417        "src/compiler/ruby_generator.h",
418        "src/compiler/ruby_generator_helpers-inl.h",
419        "src/compiler/ruby_generator_map-inl.h",
420        "src/compiler/ruby_generator_string-inl.h",
421        "src/compiler/schema_interface.h",
422    ],
423    external_deps = [
424        "protobuf_clib",
425    ],
426    language = "c++",
427    deps = [
428        "grpc++_config_proto",
429    ],
430)
431
432grpc_proto_plugin(
433    name = "grpc_cpp_plugin",
434    srcs = ["src/compiler/cpp_plugin.cc"],
435    deps = [":grpc_plugin_support"],
436)
437
438grpc_proto_plugin(
439    name = "grpc_csharp_plugin",
440    srcs = ["src/compiler/csharp_plugin.cc"],
441    deps = [":grpc_plugin_support"],
442)
443
444grpc_proto_plugin(
445    name = "grpc_node_plugin",
446    srcs = ["src/compiler/node_plugin.cc"],
447    deps = [":grpc_plugin_support"],
448)
449
450grpc_proto_plugin(
451    name = "grpc_objective_c_plugin",
452    srcs = ["src/compiler/objective_c_plugin.cc"],
453    deps = [":grpc_plugin_support"],
454)
455
456grpc_proto_plugin(
457    name = "grpc_php_plugin",
458    srcs = ["src/compiler/php_plugin.cc"],
459    deps = [":grpc_plugin_support"],
460)
461
462grpc_proto_plugin(
463    name = "grpc_python_plugin",
464    srcs = ["src/compiler/python_plugin.cc"],
465    deps = [":grpc_plugin_support"],
466)
467
468grpc_proto_plugin(
469    name = "grpc_ruby_plugin",
470    srcs = ["src/compiler/ruby_plugin.cc"],
471    deps = [":grpc_plugin_support"],
472)
473
474grpc_cc_library(
475    name = "grpc_csharp_ext",
476    srcs = [
477        "src/csharp/ext/grpc_csharp_ext.c",
478    ],
479    language = "csharp",
480    deps = [
481        "gpr",
482        "grpc",
483    ],
484)
485
486grpc_cc_library(
487    name = "census",
488    srcs = [
489        "src/core/ext/filters/census/grpc_context.cc",
490    ],
491    language = "c++",
492    public_hdrs = [
493        "include/grpc/census.h",
494    ],
495    deps = [
496        "grpc_base",
497    ],
498)
499
500grpc_cc_library(
501    name = "gpr_base",
502    srcs = [
503        "src/core/lib/gpr/alloc.cc",
504        "src/core/lib/gpr/arena.cc",
505        "src/core/lib/gpr/atm.cc",
506        "src/core/lib/gpr/cpu_iphone.cc",
507        "src/core/lib/gpr/cpu_linux.cc",
508        "src/core/lib/gpr/cpu_posix.cc",
509        "src/core/lib/gpr/cpu_windows.cc",
510        "src/core/lib/gpr/env_linux.cc",
511        "src/core/lib/gpr/env_posix.cc",
512        "src/core/lib/gpr/env_windows.cc",
513        "src/core/lib/gpr/host_port.cc",
514        "src/core/lib/gpr/log.cc",
515        "src/core/lib/gpr/log_android.cc",
516        "src/core/lib/gpr/log_linux.cc",
517        "src/core/lib/gpr/log_posix.cc",
518        "src/core/lib/gpr/log_windows.cc",
519        "src/core/lib/gpr/mpscq.cc",
520        "src/core/lib/gpr/murmur_hash.cc",
521        "src/core/lib/gpr/string.cc",
522        "src/core/lib/gpr/string_posix.cc",
523        "src/core/lib/gpr/string_util_windows.cc",
524        "src/core/lib/gpr/string_windows.cc",
525        "src/core/lib/gpr/sync.cc",
526        "src/core/lib/gpr/sync_posix.cc",
527        "src/core/lib/gpr/sync_windows.cc",
528        "src/core/lib/gpr/time.cc",
529        "src/core/lib/gpr/time_posix.cc",
530        "src/core/lib/gpr/time_precise.cc",
531        "src/core/lib/gpr/time_windows.cc",
532        "src/core/lib/gpr/tls_pthread.cc",
533        "src/core/lib/gpr/tmpfile_msys.cc",
534        "src/core/lib/gpr/tmpfile_posix.cc",
535        "src/core/lib/gpr/tmpfile_windows.cc",
536        "src/core/lib/gpr/wrap_memcpy.cc",
537        "src/core/lib/gprpp/fork.cc",
538        "src/core/lib/gprpp/thd_posix.cc",
539        "src/core/lib/gprpp/thd_windows.cc",
540        "src/core/lib/profiling/basic_timers.cc",
541        "src/core/lib/profiling/stap_timers.cc",
542    ],
543    hdrs = [
544        "src/core/lib/gpr/alloc.h",
545        "src/core/lib/gpr/arena.h",
546        "src/core/lib/gpr/env.h",
547        "src/core/lib/gpr/host_port.h",
548        "src/core/lib/gpr/mpscq.h",
549        "src/core/lib/gpr/murmur_hash.h",
550        "src/core/lib/gpr/spinlock.h",
551        "src/core/lib/gpr/string.h",
552        "src/core/lib/gpr/string_windows.h",
553        "src/core/lib/gpr/time_precise.h",
554        "src/core/lib/gpr/tls.h",
555        "src/core/lib/gpr/tls_gcc.h",
556        "src/core/lib/gpr/tls_msvc.h",
557        "src/core/lib/gpr/tls_pthread.h",
558        "src/core/lib/gpr/tmpfile.h",
559        "src/core/lib/gpr/useful.h",
560        "src/core/lib/gprpp/abstract.h",
561        "src/core/lib/gprpp/fork.h",
562        "src/core/lib/gprpp/manual_constructor.h",
563        "src/core/lib/gprpp/memory.h",
564        "src/core/lib/gprpp/mutex_lock.h",
565        "src/core/lib/gprpp/thd.h",
566        "src/core/lib/profiling/timers.h",
567    ],
568    language = "c++",
569    public_hdrs = GPR_PUBLIC_HDRS,
570    deps = [
571        "gpr_codegen",
572    ],
573)
574
575grpc_cc_library(
576    name = "gpr_codegen",
577    language = "c++",
578    public_hdrs = [
579        "include/grpc/impl/codegen/atm.h",
580        "include/grpc/impl/codegen/atm_gcc_atomic.h",
581        "include/grpc/impl/codegen/atm_gcc_sync.h",
582        "include/grpc/impl/codegen/atm_windows.h",
583        "include/grpc/impl/codegen/fork.h",
584        "include/grpc/impl/codegen/gpr_slice.h",
585        "include/grpc/impl/codegen/gpr_types.h",
586        "include/grpc/impl/codegen/log.h",
587        "include/grpc/impl/codegen/port_platform.h",
588        "include/grpc/impl/codegen/sync.h",
589        "include/grpc/impl/codegen/sync_custom.h",
590        "include/grpc/impl/codegen/sync_generic.h",
591        "include/grpc/impl/codegen/sync_posix.h",
592        "include/grpc/impl/codegen/sync_windows.h",
593    ],
594)
595
596grpc_cc_library(
597    name = "grpc_trace",
598    srcs = ["src/core/lib/debug/trace.cc"],
599    hdrs = ["src/core/lib/debug/trace.h"],
600    language = "c++",
601    public_hdrs = GRPC_PUBLIC_HDRS,
602    deps = [
603        "grpc_codegen",
604        ":gpr",
605    ],
606)
607
608grpc_cc_library(
609    name = "atomic",
610    hdrs = [
611        "src/core/lib/gprpp/atomic_with_atm.h",
612        "src/core/lib/gprpp/atomic_with_std.h",
613    ],
614    language = "c++",
615    public_hdrs = [
616        "src/core/lib/gprpp/atomic.h",
617    ],
618    deps = [
619        "gpr",
620    ],
621)
622
623grpc_cc_library(
624    name = "inlined_vector",
625    language = "c++",
626    public_hdrs = [
627        "src/core/lib/gprpp/inlined_vector.h",
628    ],
629    deps = [
630        "gpr_base",
631    ],
632)
633
634grpc_cc_library(
635    name = "debug_location",
636    language = "c++",
637    public_hdrs = ["src/core/lib/gprpp/debug_location.h"],
638)
639
640grpc_cc_library(
641    name = "orphanable",
642    language = "c++",
643    public_hdrs = ["src/core/lib/gprpp/orphanable.h"],
644    deps = [
645        "debug_location",
646        "gpr_base",
647        "grpc_trace",
648        "ref_counted_ptr",
649    ],
650)
651
652grpc_cc_library(
653    name = "ref_counted",
654    language = "c++",
655    public_hdrs = ["src/core/lib/gprpp/ref_counted.h"],
656    deps = [
657        "debug_location",
658        "gpr_base",
659        "grpc_trace",
660        "ref_counted_ptr",
661    ],
662)
663
664grpc_cc_library(
665    name = "ref_counted_ptr",
666    language = "c++",
667    public_hdrs = ["src/core/lib/gprpp/ref_counted_ptr.h"],
668    deps = [
669        "gpr_base",
670    ],
671)
672
673grpc_cc_library(
674    name = "grpc_base_c",
675    srcs = [
676        "src/core/lib/avl/avl.cc",
677        "src/core/lib/backoff/backoff.cc",
678        "src/core/lib/channel/channel_args.cc",
679        "src/core/lib/channel/channel_stack.cc",
680        "src/core/lib/channel/channel_stack_builder.cc",
681        "src/core/lib/channel/channel_trace.cc",
682        "src/core/lib/channel/channelz.cc",
683        "src/core/lib/channel/channelz_registry.cc",
684        "src/core/lib/channel/connected_channel.cc",
685        "src/core/lib/channel/handshaker.cc",
686        "src/core/lib/channel/handshaker_factory.cc",
687        "src/core/lib/channel/handshaker_registry.cc",
688        "src/core/lib/channel/status_util.cc",
689        "src/core/lib/compression/compression.cc",
690        "src/core/lib/compression/compression_internal.cc",
691        "src/core/lib/compression/message_compress.cc",
692        "src/core/lib/compression/stream_compression.cc",
693        "src/core/lib/compression/stream_compression_gzip.cc",
694        "src/core/lib/compression/stream_compression_identity.cc",
695        "src/core/lib/debug/stats.cc",
696        "src/core/lib/debug/stats_data.cc",
697        "src/core/lib/http/format_request.cc",
698        "src/core/lib/http/httpcli.cc",
699        "src/core/lib/http/parser.cc",
700        "src/core/lib/iomgr/buffer_list.cc",
701        "src/core/lib/iomgr/call_combiner.cc",
702        "src/core/lib/iomgr/combiner.cc",
703        "src/core/lib/iomgr/endpoint.cc",
704        "src/core/lib/iomgr/endpoint_pair_posix.cc",
705        "src/core/lib/iomgr/endpoint_pair_uv.cc",
706        "src/core/lib/iomgr/endpoint_pair_windows.cc",
707        "src/core/lib/iomgr/error.cc",
708        "src/core/lib/iomgr/ev_epoll1_linux.cc",
709        "src/core/lib/iomgr/ev_epollex_linux.cc",
710        "src/core/lib/iomgr/ev_epollsig_linux.cc",
711        "src/core/lib/iomgr/ev_poll_posix.cc",
712        "src/core/lib/iomgr/ev_posix.cc",
713        "src/core/lib/iomgr/ev_windows.cc",
714        "src/core/lib/iomgr/exec_ctx.cc",
715        "src/core/lib/iomgr/executor.cc",
716        "src/core/lib/iomgr/fork_posix.cc",
717        "src/core/lib/iomgr/fork_windows.cc",
718        "src/core/lib/iomgr/gethostname_fallback.cc",
719        "src/core/lib/iomgr/gethostname_host_name_max.cc",
720        "src/core/lib/iomgr/gethostname_sysconf.cc",
721        "src/core/lib/iomgr/internal_errqueue.cc",
722        "src/core/lib/iomgr/iocp_windows.cc",
723        "src/core/lib/iomgr/iomgr.cc",
724        "src/core/lib/iomgr/iomgr_custom.cc",
725        "src/core/lib/iomgr/iomgr_internal.cc",
726        "src/core/lib/iomgr/iomgr_posix.cc",
727        "src/core/lib/iomgr/iomgr_windows.cc",
728        "src/core/lib/iomgr/is_epollexclusive_available.cc",
729        "src/core/lib/iomgr/load_file.cc",
730        "src/core/lib/iomgr/lockfree_event.cc",
731        "src/core/lib/iomgr/network_status_tracker.cc",
732        "src/core/lib/iomgr/polling_entity.cc",
733        "src/core/lib/iomgr/pollset.cc",
734        "src/core/lib/iomgr/pollset_custom.cc",
735        "src/core/lib/iomgr/pollset_set.cc",
736        "src/core/lib/iomgr/pollset_set_custom.cc",
737        "src/core/lib/iomgr/pollset_set_windows.cc",
738        "src/core/lib/iomgr/pollset_uv.cc",
739        "src/core/lib/iomgr/pollset_windows.cc",
740        "src/core/lib/iomgr/resolve_address.cc",
741        "src/core/lib/iomgr/resolve_address_custom.cc",
742        "src/core/lib/iomgr/resolve_address_posix.cc",
743        "src/core/lib/iomgr/resolve_address_windows.cc",
744        "src/core/lib/iomgr/resource_quota.cc",
745        "src/core/lib/iomgr/sockaddr_utils.cc",
746        "src/core/lib/iomgr/socket_factory_posix.cc",
747        "src/core/lib/iomgr/socket_mutator.cc",
748        "src/core/lib/iomgr/socket_utils_common_posix.cc",
749        "src/core/lib/iomgr/socket_utils_linux.cc",
750        "src/core/lib/iomgr/socket_utils_posix.cc",
751        "src/core/lib/iomgr/socket_utils_windows.cc",
752        "src/core/lib/iomgr/socket_windows.cc",
753        "src/core/lib/iomgr/tcp_client.cc",
754        "src/core/lib/iomgr/tcp_client_custom.cc",
755        "src/core/lib/iomgr/tcp_client_posix.cc",
756        "src/core/lib/iomgr/tcp_client_windows.cc",
757        "src/core/lib/iomgr/tcp_custom.cc",
758        "src/core/lib/iomgr/tcp_posix.cc",
759        "src/core/lib/iomgr/tcp_server.cc",
760        "src/core/lib/iomgr/tcp_server_custom.cc",
761        "src/core/lib/iomgr/tcp_server_posix.cc",
762        "src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
763        "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
764        "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
765        "src/core/lib/iomgr/tcp_server_windows.cc",
766        "src/core/lib/iomgr/tcp_uv.cc",
767        "src/core/lib/iomgr/tcp_windows.cc",
768        "src/core/lib/iomgr/time_averaged_stats.cc",
769        "src/core/lib/iomgr/timer.cc",
770        "src/core/lib/iomgr/timer_custom.cc",
771        "src/core/lib/iomgr/timer_generic.cc",
772        "src/core/lib/iomgr/timer_heap.cc",
773        "src/core/lib/iomgr/timer_manager.cc",
774        "src/core/lib/iomgr/timer_uv.cc",
775        "src/core/lib/iomgr/udp_server.cc",
776        "src/core/lib/iomgr/unix_sockets_posix.cc",
777        "src/core/lib/iomgr/unix_sockets_posix_noop.cc",
778        "src/core/lib/iomgr/wakeup_fd_cv.cc",
779        "src/core/lib/iomgr/wakeup_fd_eventfd.cc",
780        "src/core/lib/iomgr/wakeup_fd_nospecial.cc",
781        "src/core/lib/iomgr/wakeup_fd_pipe.cc",
782        "src/core/lib/iomgr/wakeup_fd_posix.cc",
783        "src/core/lib/json/json.cc",
784        "src/core/lib/json/json_reader.cc",
785        "src/core/lib/json/json_string.cc",
786        "src/core/lib/json/json_writer.cc",
787        "src/core/lib/slice/b64.cc",
788        "src/core/lib/slice/percent_encoding.cc",
789        "src/core/lib/slice/slice.cc",
790        "src/core/lib/slice/slice_buffer.cc",
791        "src/core/lib/slice/slice_intern.cc",
792        "src/core/lib/slice/slice_string_helpers.cc",
793        "src/core/lib/surface/api_trace.cc",
794        "src/core/lib/surface/byte_buffer.cc",
795        "src/core/lib/surface/byte_buffer_reader.cc",
796        "src/core/lib/surface/call.cc",
797        "src/core/lib/surface/call_details.cc",
798        "src/core/lib/surface/call_log_batch.cc",
799        "src/core/lib/surface/channel.cc",
800        "src/core/lib/surface/channel_init.cc",
801        "src/core/lib/surface/channel_ping.cc",
802        "src/core/lib/surface/channel_stack_type.cc",
803        "src/core/lib/surface/completion_queue.cc",
804        "src/core/lib/surface/completion_queue_factory.cc",
805        "src/core/lib/surface/event_string.cc",
806        "src/core/lib/surface/metadata_array.cc",
807        "src/core/lib/surface/server.cc",
808        "src/core/lib/surface/validate_metadata.cc",
809        "src/core/lib/surface/version.cc",
810        "src/core/lib/transport/bdp_estimator.cc",
811        "src/core/lib/transport/byte_stream.cc",
812        "src/core/lib/transport/connectivity_state.cc",
813        "src/core/lib/transport/error_utils.cc",
814        "src/core/lib/transport/metadata.cc",
815        "src/core/lib/transport/metadata_batch.cc",
816        "src/core/lib/transport/pid_controller.cc",
817        "src/core/lib/transport/service_config.cc",
818        "src/core/lib/transport/static_metadata.cc",
819        "src/core/lib/transport/status_conversion.cc",
820        "src/core/lib/transport/status_metadata.cc",
821        "src/core/lib/transport/timeout_encoding.cc",
822        "src/core/lib/transport/transport.cc",
823        "src/core/lib/transport/transport_op_string.cc",
824    ],
825    hdrs = [
826        "src/core/lib/avl/avl.h",
827        "src/core/lib/backoff/backoff.h",
828        "src/core/lib/channel/channel_args.h",
829        "src/core/lib/channel/channel_stack.h",
830        "src/core/lib/channel/channel_stack_builder.h",
831        "src/core/lib/channel/channel_trace.h",
832        "src/core/lib/channel/channelz.h",
833        "src/core/lib/channel/channelz_registry.h",
834        "src/core/lib/channel/connected_channel.h",
835        "src/core/lib/channel/context.h",
836        "src/core/lib/channel/handshaker.h",
837        "src/core/lib/channel/handshaker_factory.h",
838        "src/core/lib/channel/handshaker_registry.h",
839        "src/core/lib/channel/status_util.h",
840        "src/core/lib/compression/algorithm_metadata.h",
841        "src/core/lib/compression/compression_internal.h",
842        "src/core/lib/compression/message_compress.h",
843        "src/core/lib/compression/stream_compression.h",
844        "src/core/lib/compression/stream_compression_gzip.h",
845        "src/core/lib/compression/stream_compression_identity.h",
846        "src/core/lib/debug/stats.h",
847        "src/core/lib/debug/stats_data.h",
848        "src/core/lib/http/format_request.h",
849        "src/core/lib/http/httpcli.h",
850        "src/core/lib/http/parser.h",
851        "src/core/lib/iomgr/buffer_list.h",
852        "src/core/lib/iomgr/block_annotate.h",
853        "src/core/lib/iomgr/call_combiner.h",
854        "src/core/lib/iomgr/closure.h",
855        "src/core/lib/iomgr/combiner.h",
856        "src/core/lib/iomgr/endpoint.h",
857        "src/core/lib/iomgr/endpoint_pair.h",
858        "src/core/lib/iomgr/error.h",
859        "src/core/lib/iomgr/error_internal.h",
860        "src/core/lib/iomgr/ev_epoll1_linux.h",
861        "src/core/lib/iomgr/ev_epollex_linux.h",
862        "src/core/lib/iomgr/ev_epollsig_linux.h",
863        "src/core/lib/iomgr/ev_poll_posix.h",
864        "src/core/lib/iomgr/ev_posix.h",
865        "src/core/lib/iomgr/exec_ctx.h",
866        "src/core/lib/iomgr/executor.h",
867        "src/core/lib/iomgr/gethostname.h",
868        "src/core/lib/iomgr/gevent_util.h",
869        "src/core/lib/iomgr/internal_errqueue.h",
870        "src/core/lib/iomgr/iocp_windows.h",
871        "src/core/lib/iomgr/iomgr.h",
872        "src/core/lib/iomgr/iomgr_custom.h",
873        "src/core/lib/iomgr/iomgr_internal.h",
874        "src/core/lib/iomgr/iomgr_posix.h",
875        "src/core/lib/iomgr/is_epollexclusive_available.h",
876        "src/core/lib/iomgr/load_file.h",
877        "src/core/lib/iomgr/lockfree_event.h",
878        "src/core/lib/iomgr/nameser.h",
879        "src/core/lib/iomgr/network_status_tracker.h",
880        "src/core/lib/iomgr/polling_entity.h",
881        "src/core/lib/iomgr/pollset.h",
882        "src/core/lib/iomgr/pollset_custom.h",
883        "src/core/lib/iomgr/pollset_set.h",
884        "src/core/lib/iomgr/pollset_set_custom.h",
885        "src/core/lib/iomgr/pollset_set_windows.h",
886        "src/core/lib/iomgr/pollset_uv.h",
887        "src/core/lib/iomgr/pollset_windows.h",
888        "src/core/lib/iomgr/port.h",
889        "src/core/lib/iomgr/resolve_address.h",
890        "src/core/lib/iomgr/resolve_address_custom.h",
891        "src/core/lib/iomgr/resource_quota.h",
892        "src/core/lib/iomgr/sockaddr.h",
893        "src/core/lib/iomgr/sockaddr_custom.h",
894        "src/core/lib/iomgr/sockaddr_posix.h",
895        "src/core/lib/iomgr/sockaddr_utils.h",
896        "src/core/lib/iomgr/sockaddr_windows.h",
897        "src/core/lib/iomgr/socket_factory_posix.h",
898        "src/core/lib/iomgr/socket_mutator.h",
899        "src/core/lib/iomgr/socket_utils.h",
900        "src/core/lib/iomgr/socket_utils_posix.h",
901        "src/core/lib/iomgr/socket_windows.h",
902        "src/core/lib/iomgr/sys_epoll_wrapper.h",
903        "src/core/lib/iomgr/tcp_client.h",
904        "src/core/lib/iomgr/tcp_client_posix.h",
905        "src/core/lib/iomgr/tcp_custom.h",
906        "src/core/lib/iomgr/tcp_posix.h",
907        "src/core/lib/iomgr/tcp_server.h",
908        "src/core/lib/iomgr/tcp_server_utils_posix.h",
909        "src/core/lib/iomgr/tcp_windows.h",
910        "src/core/lib/iomgr/time_averaged_stats.h",
911        "src/core/lib/iomgr/timer.h",
912        "src/core/lib/iomgr/timer_custom.h",
913        "src/core/lib/iomgr/timer_generic.h",
914        "src/core/lib/iomgr/timer_heap.h",
915        "src/core/lib/iomgr/timer_manager.h",
916        "src/core/lib/iomgr/udp_server.h",
917        "src/core/lib/iomgr/unix_sockets_posix.h",
918        "src/core/lib/iomgr/wakeup_fd_cv.h",
919        "src/core/lib/iomgr/wakeup_fd_pipe.h",
920        "src/core/lib/iomgr/wakeup_fd_posix.h",
921        "src/core/lib/json/json.h",
922        "src/core/lib/json/json_common.h",
923        "src/core/lib/json/json_reader.h",
924        "src/core/lib/json/json_writer.h",
925        "src/core/lib/slice/b64.h",
926        "src/core/lib/slice/percent_encoding.h",
927        "src/core/lib/slice/slice_hash_table.h",
928        "src/core/lib/slice/slice_internal.h",
929        "src/core/lib/slice/slice_string_helpers.h",
930        "src/core/lib/slice/slice_weak_hash_table.h",
931        "src/core/lib/surface/api_trace.h",
932        "src/core/lib/surface/call.h",
933        "src/core/lib/surface/call_test_only.h",
934        "src/core/lib/surface/channel.h",
935        "src/core/lib/surface/channel_init.h",
936        "src/core/lib/surface/channel_stack_type.h",
937        "src/core/lib/surface/completion_queue.h",
938        "src/core/lib/surface/completion_queue_factory.h",
939        "src/core/lib/surface/event_string.h",
940        "src/core/lib/surface/init.h",
941        "src/core/lib/surface/lame_client.h",
942        "src/core/lib/surface/server.h",
943        "src/core/lib/surface/validate_metadata.h",
944        "src/core/lib/transport/bdp_estimator.h",
945        "src/core/lib/transport/byte_stream.h",
946        "src/core/lib/transport/connectivity_state.h",
947        "src/core/lib/transport/error_utils.h",
948        "src/core/lib/transport/http2_errors.h",
949        "src/core/lib/transport/metadata.h",
950        "src/core/lib/transport/metadata_batch.h",
951        "src/core/lib/transport/pid_controller.h",
952        "src/core/lib/transport/service_config.h",
953        "src/core/lib/transport/static_metadata.h",
954        "src/core/lib/transport/status_conversion.h",
955        "src/core/lib/transport/status_metadata.h",
956        "src/core/lib/transport/timeout_encoding.h",
957        "src/core/lib/transport/transport.h",
958        "src/core/lib/transport/transport_impl.h",
959    ],
960    external_deps = [
961        "zlib",
962    ],
963    language = "c++",
964    public_hdrs = GRPC_PUBLIC_HDRS,
965    deps = [
966        "gpr_base",
967        "grpc_codegen",
968        "grpc_trace",
969        "inlined_vector",
970        "orphanable",
971        "ref_counted",
972        "ref_counted_ptr",
973    ],
974)
975
976grpc_cc_library(
977    name = "grpc_base",
978    srcs = [
979        "src/core/lib/surface/lame_client.cc",
980    ],
981    language = "c++",
982    deps = [
983        "atomic",
984        "grpc_base_c",
985    ],
986)
987
988grpc_cc_library(
989    name = "grpc_common",
990    language = "c++",
991    deps = [
992        "grpc_base",
993        # standard plugins
994        "census",
995        "grpc_deadline_filter",
996        "grpc_client_authority_filter",
997        "grpc_lb_policy_pick_first",
998        "grpc_lb_policy_round_robin",
999        "grpc_max_age_filter",
1000        "grpc_message_size_filter",
1001        "grpc_resolver_dns_ares",
1002        "grpc_resolver_fake",
1003        "grpc_resolver_dns_native",
1004        "grpc_resolver_sockaddr",
1005        "grpc_transport_chttp2_client_insecure",
1006        "grpc_transport_chttp2_server_insecure",
1007        "grpc_transport_inproc",
1008        "grpc_workaround_cronet_compression_filter",
1009        "grpc_server_backward_compatibility",
1010    ],
1011)
1012
1013grpc_cc_library(
1014    name = "grpc_cfstream",
1015    srcs = [
1016        "src/core/lib/iomgr/cfstream_handle.cc",
1017        "src/core/lib/iomgr/endpoint_cfstream.cc",
1018        "src/core/lib/iomgr/error_cfstream.cc",
1019        "src/core/lib/iomgr/iomgr_posix_cfstream.cc",
1020        "src/core/lib/iomgr/tcp_client_cfstream.cc",
1021    ],
1022    hdrs = [
1023        "src/core/lib/iomgr/cfstream_handle.h",
1024        "src/core/lib/iomgr/endpoint_cfstream.h",
1025        "src/core/lib/iomgr/error_cfstream.h",
1026    ],
1027    deps = [
1028        ":gpr_base",
1029        ":grpc_base",
1030    ],
1031)
1032
1033grpc_cc_library(
1034    name = "grpc_client_channel",
1035    srcs = [
1036        "src/core/ext/filters/client_channel/backup_poller.cc",
1037        "src/core/ext/filters/client_channel/channel_connectivity.cc",
1038        "src/core/ext/filters/client_channel/client_channel.cc",
1039        "src/core/ext/filters/client_channel/client_channel_channelz.cc",
1040        "src/core/ext/filters/client_channel/client_channel_factory.cc",
1041        "src/core/ext/filters/client_channel/client_channel_plugin.cc",
1042        "src/core/ext/filters/client_channel/connector.cc",
1043        "src/core/ext/filters/client_channel/http_connect_handshaker.cc",
1044        "src/core/ext/filters/client_channel/http_proxy.cc",
1045        "src/core/ext/filters/client_channel/lb_policy.cc",
1046        "src/core/ext/filters/client_channel/lb_policy_factory.cc",
1047        "src/core/ext/filters/client_channel/lb_policy_registry.cc",
1048        "src/core/ext/filters/client_channel/method_params.cc",
1049        "src/core/ext/filters/client_channel/parse_address.cc",
1050        "src/core/ext/filters/client_channel/proxy_mapper.cc",
1051        "src/core/ext/filters/client_channel/proxy_mapper_registry.cc",
1052        "src/core/ext/filters/client_channel/resolver.cc",
1053        "src/core/ext/filters/client_channel/resolver_registry.cc",
1054        "src/core/ext/filters/client_channel/retry_throttle.cc",
1055        "src/core/ext/filters/client_channel/subchannel.cc",
1056        "src/core/ext/filters/client_channel/subchannel_index.cc",
1057        "src/core/ext/filters/client_channel/uri_parser.cc",
1058    ],
1059    hdrs = [
1060        "src/core/ext/filters/client_channel/backup_poller.h",
1061        "src/core/ext/filters/client_channel/client_channel.h",
1062        "src/core/ext/filters/client_channel/client_channel_channelz.h",
1063        "src/core/ext/filters/client_channel/client_channel_factory.h",
1064        "src/core/ext/filters/client_channel/connector.h",
1065        "src/core/ext/filters/client_channel/http_connect_handshaker.h",
1066        "src/core/ext/filters/client_channel/http_proxy.h",
1067        "src/core/ext/filters/client_channel/lb_policy.h",
1068        "src/core/ext/filters/client_channel/lb_policy_factory.h",
1069        "src/core/ext/filters/client_channel/lb_policy_registry.h",
1070        "src/core/ext/filters/client_channel/method_params.h",
1071        "src/core/ext/filters/client_channel/parse_address.h",
1072        "src/core/ext/filters/client_channel/proxy_mapper.h",
1073        "src/core/ext/filters/client_channel/proxy_mapper_registry.h",
1074        "src/core/ext/filters/client_channel/resolver.h",
1075        "src/core/ext/filters/client_channel/resolver_factory.h",
1076        "src/core/ext/filters/client_channel/resolver_registry.h",
1077        "src/core/ext/filters/client_channel/retry_throttle.h",
1078        "src/core/ext/filters/client_channel/subchannel.h",
1079        "src/core/ext/filters/client_channel/subchannel_index.h",
1080        "src/core/ext/filters/client_channel/uri_parser.h",
1081    ],
1082    language = "c++",
1083    deps = [
1084        "gpr_base",
1085        "grpc_base",
1086        "grpc_client_authority_filter",
1087        "grpc_deadline_filter",
1088        "inlined_vector",
1089        "orphanable",
1090        "ref_counted",
1091        "ref_counted_ptr",
1092    ],
1093)
1094
1095grpc_cc_library(
1096    name = "grpc_max_age_filter",
1097    srcs = [
1098        "src/core/ext/filters/max_age/max_age_filter.cc",
1099    ],
1100    hdrs = [
1101        "src/core/ext/filters/max_age/max_age_filter.h",
1102    ],
1103    language = "c++",
1104    deps = [
1105        "grpc_base",
1106    ],
1107)
1108
1109grpc_cc_library(
1110    name = "grpc_deadline_filter",
1111    srcs = [
1112        "src/core/ext/filters/deadline/deadline_filter.cc",
1113    ],
1114    hdrs = [
1115        "src/core/ext/filters/deadline/deadline_filter.h",
1116    ],
1117    language = "c++",
1118    deps = [
1119        "grpc_base",
1120    ],
1121)
1122
1123grpc_cc_library(
1124    name = "grpc_client_authority_filter",
1125    srcs = [
1126        "src/core/ext/filters/http/client_authority_filter.cc",
1127    ],
1128    hdrs = [
1129        "src/core/ext/filters/http/client_authority_filter.h",
1130    ],
1131    language = "c++",
1132    deps = [
1133        "grpc_base",
1134    ],
1135)
1136
1137grpc_cc_library(
1138    name = "grpc_message_size_filter",
1139    srcs = [
1140        "src/core/ext/filters/message_size/message_size_filter.cc",
1141    ],
1142    hdrs = [
1143        "src/core/ext/filters/message_size/message_size_filter.h",
1144    ],
1145    language = "c++",
1146    deps = [
1147        "grpc_base",
1148    ],
1149)
1150
1151grpc_cc_library(
1152    name = "grpc_http_filters",
1153    srcs = [
1154        "src/core/ext/filters/http/client/http_client_filter.cc",
1155        "src/core/ext/filters/http/http_filters_plugin.cc",
1156        "src/core/ext/filters/http/message_compress/message_compress_filter.cc",
1157        "src/core/ext/filters/http/server/http_server_filter.cc",
1158    ],
1159    hdrs = [
1160        "src/core/ext/filters/http/client/http_client_filter.h",
1161        "src/core/ext/filters/http/message_compress/message_compress_filter.h",
1162        "src/core/ext/filters/http/server/http_server_filter.h",
1163    ],
1164    language = "c++",
1165    deps = [
1166        "grpc_base",
1167    ],
1168)
1169
1170grpc_cc_library(
1171    name = "grpc_workaround_cronet_compression_filter",
1172    srcs = [
1173        "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc",
1174    ],
1175    hdrs = [
1176        "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h",
1177    ],
1178    language = "c++",
1179    deps = [
1180        "grpc_base",
1181        "grpc_server_backward_compatibility",
1182    ],
1183)
1184
1185grpc_cc_library(
1186    name = "grpc_codegen",
1187    language = "c++",
1188    public_hdrs = [
1189        "include/grpc/impl/codegen/byte_buffer.h",
1190        "include/grpc/impl/codegen/byte_buffer_reader.h",
1191        "include/grpc/impl/codegen/compression_types.h",
1192        "include/grpc/impl/codegen/connectivity_state.h",
1193        "include/grpc/impl/codegen/grpc_types.h",
1194        "include/grpc/impl/codegen/propagation_bits.h",
1195        "include/grpc/impl/codegen/status.h",
1196        "include/grpc/impl/codegen/slice.h",
1197    ],
1198    deps = [
1199        "gpr_codegen",
1200    ],
1201)
1202
1203grpc_cc_library(
1204    name = "grpc_lb_policy_grpclb",
1205    srcs = [
1206        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
1207        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
1208        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc",
1209        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
1210        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
1211        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c",
1212        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c",
1213        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c",
1214    ],
1215    hdrs = [
1216        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
1217        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1218        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
1219        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
1220        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
1221        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.h",
1222        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.h",
1223        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h",
1224    ],
1225    external_deps = [
1226        "nanopb",
1227    ],
1228    language = "c++",
1229    deps = [
1230        "grpc_base",
1231        "grpc_client_channel",
1232        "grpc_resolver_fake",
1233    ],
1234)
1235
1236grpc_cc_library(
1237    name = "grpc_lb_policy_grpclb_secure",
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_secure.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        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c",
1245        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c",
1246        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c",
1247    ],
1248    hdrs = [
1249        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
1250        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1251        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
1252        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
1253        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
1254        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.h",
1255        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.h",
1256        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h",
1257    ],
1258    external_deps = [
1259        "nanopb",
1260    ],
1261    language = "c++",
1262    deps = [
1263        "grpc_base",
1264        "grpc_client_channel",
1265        "grpc_resolver_fake",
1266        "grpc_secure",
1267    ],
1268)
1269
1270grpc_cc_library(
1271    name = "grpc_lb_subchannel_list",
1272    hdrs = [
1273        "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h",
1274    ],
1275    language = "c++",
1276    deps = [
1277        "grpc_base",
1278        "grpc_client_channel",
1279    ],
1280)
1281
1282grpc_cc_library(
1283    name = "grpc_lb_policy_pick_first",
1284    srcs = [
1285        "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
1286    ],
1287    language = "c++",
1288    deps = [
1289        "grpc_base",
1290        "grpc_client_channel",
1291        "grpc_lb_subchannel_list",
1292    ],
1293)
1294
1295grpc_cc_library(
1296    name = "grpc_lb_policy_round_robin",
1297    srcs = [
1298        "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
1299    ],
1300    language = "c++",
1301    deps = [
1302        "grpc_base",
1303        "grpc_client_channel",
1304        "grpc_lb_subchannel_list",
1305    ],
1306)
1307
1308grpc_cc_library(
1309    name = "lb_server_load_reporting_filter",
1310    srcs = [
1311        "src/core/ext/filters/load_reporting/server_load_reporting_filter.cc",
1312    ],
1313    hdrs = [
1314        "src/core/ext/filters/load_reporting/registered_opencensus_objects.h",
1315        "src/core/ext/filters/load_reporting/server_load_reporting_filter.h",
1316        "src/cpp/server/load_reporter/constants.h",
1317    ],
1318    external_deps = [
1319        "opencensus-stats",
1320    ],
1321    language = "c++",
1322    deps = [
1323        "grpc++_base",
1324        "grpc_secure",
1325    ],
1326)
1327
1328grpc_cc_library(
1329    name = "lb_load_data_store",
1330    srcs = [
1331        "src/cpp/server/load_reporter/load_data_store.cc",
1332    ],
1333    hdrs = [
1334        "src/cpp/server/load_reporter/constants.h",
1335        "src/cpp/server/load_reporter/load_data_store.h",
1336    ],
1337    language = "c++",
1338    deps = [
1339        "grpc++",
1340    ],
1341)
1342
1343grpc_cc_library(
1344    name = "lb_server_load_reporting_service_server_builder_plugin",
1345    srcs = [
1346        "src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.cc",
1347    ],
1348    hdrs = [
1349        "src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.h",
1350    ],
1351    language = "c++",
1352    deps = [
1353        "lb_load_reporter_service",
1354    ],
1355)
1356
1357grpc_cc_library(
1358    name = "grpcpp_server_load_reporting",
1359    srcs = [
1360        "src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc",
1361        "src/cpp/server/load_reporter/util.cc",
1362    ],
1363    language = "c++",
1364    public_hdrs = [
1365        "include/grpcpp/ext/server_load_reporting.h",
1366    ],
1367    deps = [
1368        "lb_server_load_reporting_filter",
1369        "lb_server_load_reporting_service_server_builder_plugin",
1370    ],
1371    alwayslink = 1,
1372)
1373
1374grpc_cc_library(
1375    name = "lb_load_reporter_service",
1376    srcs = [
1377        "src/cpp/server/load_reporter/load_reporter_async_service_impl.cc",
1378    ],
1379    hdrs = [
1380        "src/cpp/server/load_reporter/load_reporter_async_service_impl.h",
1381    ],
1382    language = "c++",
1383    deps = [
1384        "lb_load_reporter",
1385    ],
1386)
1387
1388grpc_cc_library(
1389    name = "lb_get_cpu_stats",
1390    srcs = [
1391        "src/cpp/server/load_reporter/get_cpu_stats_linux.cc",
1392        "src/cpp/server/load_reporter/get_cpu_stats_macos.cc",
1393        "src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc",
1394        "src/cpp/server/load_reporter/get_cpu_stats_windows.cc",
1395    ],
1396    hdrs = [
1397        "src/cpp/server/load_reporter/get_cpu_stats.h",
1398    ],
1399    language = "c++",
1400    deps = [
1401        "grpc++",
1402    ],
1403)
1404
1405grpc_cc_library(
1406    name = "lb_load_reporter",
1407    srcs = [
1408        "src/cpp/server/load_reporter/load_reporter.cc",
1409    ],
1410    hdrs = [
1411        "src/cpp/server/load_reporter/constants.h",
1412        "src/cpp/server/load_reporter/load_reporter.h",
1413    ],
1414    external_deps = [
1415        "opencensus-stats",
1416    ],
1417    language = "c++",
1418    deps = [
1419        "lb_get_cpu_stats",
1420        "lb_load_data_store",
1421        "//src/proto/grpc/lb/v1:load_reporter_proto",
1422    ],
1423)
1424
1425grpc_cc_library(
1426    name = "grpc_resolver_dns_native",
1427    srcs = [
1428        "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
1429    ],
1430    language = "c++",
1431    deps = [
1432        "grpc_base",
1433        "grpc_client_channel",
1434    ],
1435)
1436
1437grpc_cc_library(
1438    name = "grpc_resolver_dns_ares",
1439    srcs = [
1440        "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc",
1441        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc",
1442        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc",
1443        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc",
1444        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc",
1445        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc",
1446        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc",
1447        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc",
1448    ],
1449    hdrs = [
1450        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h",
1451        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h",
1452    ],
1453    external_deps = [
1454        "cares",
1455        "address_sorting",
1456    ],
1457    language = "c++",
1458    deps = [
1459        "grpc_base",
1460        "grpc_client_channel",
1461    ],
1462)
1463
1464grpc_cc_library(
1465    name = "grpc_resolver_sockaddr",
1466    srcs = [
1467        "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
1468    ],
1469    language = "c++",
1470    deps = [
1471        "grpc_base",
1472        "grpc_client_channel",
1473    ],
1474)
1475
1476grpc_cc_library(
1477    name = "grpc_resolver_fake",
1478    srcs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc"],
1479    hdrs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"],
1480    language = "c++",
1481    visibility = ["//test:__subpackages__"],
1482    deps = [
1483        "grpc_base",
1484        "grpc_client_channel",
1485    ],
1486)
1487
1488grpc_cc_library(
1489    name = "grpc_secure",
1490    srcs = [
1491        "src/core/lib/http/httpcli_security_connector.cc",
1492        "src/core/lib/security/context/security_context.cc",
1493        "src/core/lib/security/credentials/alts/alts_credentials.cc",
1494        "src/core/lib/security/credentials/composite/composite_credentials.cc",
1495        "src/core/lib/security/credentials/credentials.cc",
1496        "src/core/lib/security/credentials/credentials_metadata.cc",
1497        "src/core/lib/security/credentials/fake/fake_credentials.cc",
1498        "src/core/lib/security/credentials/google_default/credentials_generic.cc",
1499        "src/core/lib/security/credentials/google_default/google_default_credentials.cc",
1500        "src/core/lib/security/credentials/iam/iam_credentials.cc",
1501        "src/core/lib/security/credentials/jwt/json_token.cc",
1502        "src/core/lib/security/credentials/jwt/jwt_credentials.cc",
1503        "src/core/lib/security/credentials/jwt/jwt_verifier.cc",
1504        "src/core/lib/security/credentials/local/local_credentials.cc",
1505        "src/core/lib/security/credentials/oauth2/oauth2_credentials.cc",
1506        "src/core/lib/security/credentials/plugin/plugin_credentials.cc",
1507        "src/core/lib/security/credentials/ssl/ssl_credentials.cc",
1508        "src/core/lib/security/security_connector/alts_security_connector.cc",
1509        "src/core/lib/security/security_connector/load_system_roots_fallback.cc",
1510        "src/core/lib/security/security_connector/load_system_roots_linux.cc",
1511        "src/core/lib/security/security_connector/local_security_connector.cc",
1512        "src/core/lib/security/security_connector/security_connector.cc",
1513        "src/core/lib/security/transport/client_auth_filter.cc",
1514        "src/core/lib/security/transport/secure_endpoint.cc",
1515        "src/core/lib/security/transport/security_handshaker.cc",
1516        "src/core/lib/security/transport/server_auth_filter.cc",
1517        "src/core/lib/security/transport/target_authority_table.cc",
1518        "src/core/lib/security/transport/tsi_error.cc",
1519        "src/core/lib/security/util/json_util.cc",
1520        "src/core/lib/surface/init_secure.cc",
1521    ],
1522    hdrs = [
1523        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
1524        "src/core/lib/security/context/security_context.h",
1525        "src/core/lib/security/credentials/alts/alts_credentials.h",
1526        "src/core/lib/security/credentials/composite/composite_credentials.h",
1527        "src/core/lib/security/credentials/credentials.h",
1528        "src/core/lib/security/credentials/fake/fake_credentials.h",
1529        "src/core/lib/security/credentials/google_default/google_default_credentials.h",
1530        "src/core/lib/security/credentials/iam/iam_credentials.h",
1531        "src/core/lib/security/credentials/jwt/json_token.h",
1532        "src/core/lib/security/credentials/jwt/jwt_credentials.h",
1533        "src/core/lib/security/credentials/jwt/jwt_verifier.h",
1534        "src/core/lib/security/credentials/local/local_credentials.h",
1535        "src/core/lib/security/credentials/oauth2/oauth2_credentials.h",
1536        "src/core/lib/security/credentials/plugin/plugin_credentials.h",
1537        "src/core/lib/security/credentials/ssl/ssl_credentials.h",
1538        "src/core/lib/security/security_connector/alts_security_connector.h",
1539        "src/core/lib/security/security_connector/load_system_roots.h",
1540        "src/core/lib/security/security_connector/load_system_roots_linux.h",
1541        "src/core/lib/security/security_connector/local_security_connector.h",
1542        "src/core/lib/security/security_connector/security_connector.h",
1543        "src/core/lib/security/transport/auth_filters.h",
1544        "src/core/lib/security/transport/secure_endpoint.h",
1545        "src/core/lib/security/transport/security_handshaker.h",
1546        "src/core/lib/security/transport/target_authority_table.h",
1547        "src/core/lib/security/transport/tsi_error.h",
1548        "src/core/lib/security/util/json_util.h",
1549    ],
1550    language = "c++",
1551    public_hdrs = GRPC_SECURE_PUBLIC_HDRS,
1552    deps = [
1553        "alts_util",
1554        "grpc_base",
1555        "grpc_transport_chttp2_alpn",
1556        "tsi",
1557        "grpc_shadow_boringssl",
1558    ],
1559)
1560
1561grpc_cc_library(
1562    name = "grpc_transport_chttp2",
1563    srcs = [
1564        "src/core/ext/transport/chttp2/transport/bin_decoder.cc",
1565        "src/core/ext/transport/chttp2/transport/bin_encoder.cc",
1566        "src/core/ext/transport/chttp2/transport/chttp2_plugin.cc",
1567        "src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
1568        "src/core/ext/transport/chttp2/transport/flow_control.cc",
1569        "src/core/ext/transport/chttp2/transport/frame_data.cc",
1570        "src/core/ext/transport/chttp2/transport/frame_goaway.cc",
1571        "src/core/ext/transport/chttp2/transport/frame_ping.cc",
1572        "src/core/ext/transport/chttp2/transport/frame_rst_stream.cc",
1573        "src/core/ext/transport/chttp2/transport/frame_settings.cc",
1574        "src/core/ext/transport/chttp2/transport/frame_window_update.cc",
1575        "src/core/ext/transport/chttp2/transport/hpack_encoder.cc",
1576        "src/core/ext/transport/chttp2/transport/hpack_parser.cc",
1577        "src/core/ext/transport/chttp2/transport/hpack_mapping.cc",
1578        "src/core/ext/transport/chttp2/transport/hpack_table.cc",
1579        "src/core/ext/transport/chttp2/transport/http2_settings.cc",
1580        "src/core/ext/transport/chttp2/transport/huffsyms.cc",
1581        "src/core/ext/transport/chttp2/transport/incoming_metadata.cc",
1582        "src/core/ext/transport/chttp2/transport/parsing.cc",
1583        "src/core/ext/transport/chttp2/transport/stream_lists.cc",
1584        "src/core/ext/transport/chttp2/transport/stream_map.cc",
1585        "src/core/ext/transport/chttp2/transport/varint.cc",
1586        "src/core/ext/transport/chttp2/transport/writing.cc",
1587    ],
1588    hdrs = [
1589        "src/core/ext/transport/chttp2/transport/bin_decoder.h",
1590        "src/core/ext/transport/chttp2/transport/bin_encoder.h",
1591        "src/core/ext/transport/chttp2/transport/chttp2_transport.h",
1592        "src/core/ext/transport/chttp2/transport/flow_control.h",
1593        "src/core/ext/transport/chttp2/transport/frame.h",
1594        "src/core/ext/transport/chttp2/transport/frame_data.h",
1595        "src/core/ext/transport/chttp2/transport/frame_goaway.h",
1596        "src/core/ext/transport/chttp2/transport/frame_ping.h",
1597        "src/core/ext/transport/chttp2/transport/frame_rst_stream.h",
1598        "src/core/ext/transport/chttp2/transport/frame_settings.h",
1599        "src/core/ext/transport/chttp2/transport/frame_window_update.h",
1600        "src/core/ext/transport/chttp2/transport/hpack_encoder.h",
1601        "src/core/ext/transport/chttp2/transport/hpack_parser.h",
1602        "src/core/ext/transport/chttp2/transport/hpack_mapping.h",
1603        "src/core/ext/transport/chttp2/transport/hpack_table.h",
1604        "src/core/ext/transport/chttp2/transport/http2_settings.h",
1605        "src/core/ext/transport/chttp2/transport/huffsyms.h",
1606        "src/core/ext/transport/chttp2/transport/incoming_metadata.h",
1607        "src/core/ext/transport/chttp2/transport/internal.h",
1608        "src/core/ext/transport/chttp2/transport/stream_map.h",
1609        "src/core/ext/transport/chttp2/transport/varint.h",
1610    ],
1611    language = "c++",
1612    deps = [
1613        "gpr_base",
1614        "grpc_base",
1615        "grpc_http_filters",
1616        "grpc_transport_chttp2_alpn",
1617    ],
1618)
1619
1620grpc_cc_library(
1621    name = "grpc_transport_chttp2_alpn",
1622    srcs = [
1623        "src/core/ext/transport/chttp2/alpn/alpn.cc",
1624    ],
1625    hdrs = [
1626        "src/core/ext/transport/chttp2/alpn/alpn.h",
1627    ],
1628    language = "c++",
1629    deps = [
1630        "gpr",
1631    ],
1632)
1633
1634grpc_cc_library(
1635    name = "grpc_transport_chttp2_client_connector",
1636    srcs = [
1637        "src/core/ext/transport/chttp2/client/authority.cc",
1638        "src/core/ext/transport/chttp2/client/chttp2_connector.cc",
1639    ],
1640    hdrs = [
1641        "src/core/ext/transport/chttp2/client/authority.h",
1642        "src/core/ext/transport/chttp2/client/chttp2_connector.h",
1643    ],
1644    language = "c++",
1645    deps = [
1646        "grpc_base",
1647        "grpc_client_channel",
1648        "grpc_transport_chttp2",
1649    ],
1650)
1651
1652grpc_cc_library(
1653    name = "grpc_transport_chttp2_client_insecure",
1654    srcs = [
1655        "src/core/ext/transport/chttp2/client/insecure/channel_create.cc",
1656        "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc",
1657    ],
1658    language = "c++",
1659    deps = [
1660        "grpc_base",
1661        "grpc_client_channel",
1662        "grpc_transport_chttp2",
1663        "grpc_transport_chttp2_client_connector",
1664    ],
1665)
1666
1667grpc_cc_library(
1668    name = "grpc_transport_chttp2_client_secure",
1669    srcs = [
1670        "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc",
1671    ],
1672    language = "c++",
1673    deps = [
1674        "grpc_base",
1675        "grpc_client_channel",
1676        "grpc_secure",
1677        "grpc_transport_chttp2",
1678        "grpc_transport_chttp2_client_connector",
1679    ],
1680)
1681
1682grpc_cc_library(
1683    name = "grpc_transport_chttp2_server",
1684    srcs = [
1685        "src/core/ext/transport/chttp2/server/chttp2_server.cc",
1686    ],
1687    hdrs = [
1688        "src/core/ext/transport/chttp2/server/chttp2_server.h",
1689    ],
1690    language = "c++",
1691    deps = [
1692        "grpc_base",
1693        "grpc_transport_chttp2",
1694    ],
1695)
1696
1697grpc_cc_library(
1698    name = "grpc_transport_chttp2_server_insecure",
1699    srcs = [
1700        "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc",
1701        "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc",
1702    ],
1703    language = "c++",
1704    deps = [
1705        "grpc_base",
1706        "grpc_transport_chttp2",
1707        "grpc_transport_chttp2_server",
1708    ],
1709)
1710
1711grpc_cc_library(
1712    name = "grpc_transport_chttp2_server_secure",
1713    srcs = [
1714        "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc",
1715    ],
1716    language = "c++",
1717    deps = [
1718        "grpc_base",
1719        "grpc_secure",
1720        "grpc_transport_chttp2",
1721        "grpc_transport_chttp2_server",
1722    ],
1723)
1724
1725grpc_cc_library(
1726    name = "grpc_transport_cronet_client_secure",
1727    srcs = [
1728        "src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc",
1729        "src/core/ext/transport/cronet/transport/cronet_api_dummy.cc",
1730        "src/core/ext/transport/cronet/transport/cronet_transport.cc",
1731    ],
1732    hdrs = [
1733        "src/core/ext/transport/cronet/transport/cronet_transport.h",
1734        "third_party/objective_c/Cronet/bidirectional_stream_c.h",
1735    ],
1736    language = "c++",
1737    public_hdrs = [
1738        "include/grpc/grpc_cronet.h",
1739        "include/grpc/grpc_security.h",
1740        "include/grpc/grpc_security_constants.h",
1741    ],
1742    deps = [
1743        "grpc_base",
1744        "grpc_transport_chttp2",
1745    ],
1746)
1747
1748grpc_cc_library(
1749    name = "grpc_transport_inproc",
1750    srcs = [
1751        "src/core/ext/transport/inproc/inproc_plugin.cc",
1752        "src/core/ext/transport/inproc/inproc_transport.cc",
1753    ],
1754    hdrs = [
1755        "src/core/ext/transport/inproc/inproc_transport.h",
1756    ],
1757    language = "c++",
1758    deps = [
1759        "grpc_base",
1760    ],
1761)
1762
1763grpc_cc_library(
1764    name = "tsi_interface",
1765    srcs = [
1766        "src/core/tsi/transport_security.cc",
1767    ],
1768    hdrs = [
1769        "src/core/tsi/transport_security.h",
1770        "src/core/tsi/transport_security_interface.h",
1771    ],
1772    language = "c++",
1773    deps = [
1774        "gpr",
1775        "grpc_trace",
1776    ],
1777)
1778
1779grpc_cc_library(
1780    name = "alts_frame_protector",
1781    srcs = [
1782        "src/core/tsi/alts/crypt/aes_gcm.cc",
1783        "src/core/tsi/alts/crypt/gsec.cc",
1784        "src/core/tsi/alts/frame_protector/alts_counter.cc",
1785        "src/core/tsi/alts/frame_protector/alts_crypter.cc",
1786        "src/core/tsi/alts/frame_protector/alts_frame_protector.cc",
1787        "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc",
1788        "src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc",
1789        "src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc",
1790        "src/core/tsi/alts/frame_protector/frame_handler.cc",
1791        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc",
1792        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc",
1793        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc",
1794        "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc",
1795        "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc",
1796    ],
1797    hdrs = [
1798        "src/core/tsi/alts/crypt/gsec.h",
1799        "src/core/tsi/alts/frame_protector/alts_counter.h",
1800        "src/core/tsi/alts/frame_protector/alts_crypter.h",
1801        "src/core/tsi/alts/frame_protector/alts_frame_protector.h",
1802        "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h",
1803        "src/core/tsi/alts/frame_protector/frame_handler.h",
1804        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h",
1805        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h",
1806        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h",
1807        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h",
1808        "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h",
1809        "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h",
1810        "src/core/tsi/transport_security_grpc.h",
1811    ],
1812    external_deps = [
1813        "libssl",
1814    ],
1815    language = "c++",
1816    deps = [
1817        "gpr",
1818        "grpc_base",
1819        "tsi_interface",
1820        "grpc_shadow_boringssl",
1821    ],
1822)
1823
1824grpc_cc_library(
1825    name = "alts_proto",
1826    srcs = [
1827        "src/core/tsi/alts/handshaker/altscontext.pb.c",
1828        "src/core/tsi/alts/handshaker/handshaker.pb.c",
1829        "src/core/tsi/alts/handshaker/transport_security_common.pb.c",
1830    ],
1831    hdrs = [
1832        "src/core/tsi/alts/handshaker/altscontext.pb.h",
1833        "src/core/tsi/alts/handshaker/handshaker.pb.h",
1834        "src/core/tsi/alts/handshaker/transport_security_common.pb.h",
1835    ],
1836    external_deps = [
1837        "nanopb",
1838    ],
1839    language = "c++",
1840)
1841
1842grpc_cc_library(
1843    name = "alts_util",
1844    srcs = [
1845        "src/core/lib/security/credentials/alts/check_gcp_environment.cc",
1846        "src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
1847        "src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
1848        "src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
1849        "src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
1850        "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
1851        "src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
1852        "src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc",
1853        "src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc",
1854        "src/core/tsi/alts/handshaker/transport_security_common_api.cc",
1855    ],
1856    hdrs = [
1857        "src/core/lib/security/credentials/alts/check_gcp_environment.h",
1858        "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h",
1859        "src/core/tsi/alts/handshaker/alts_handshaker_service_api.h",
1860        "src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.h",
1861        "src/core/tsi/alts/handshaker/transport_security_common_api.h",
1862    ],
1863    external_deps = [
1864        "nanopb",
1865    ],
1866    language = "c++",
1867    public_hdrs = GRPC_SECURE_PUBLIC_HDRS,
1868    deps = [
1869        "alts_proto",
1870        "gpr",
1871        "grpc_base",
1872    ],
1873)
1874
1875grpc_cc_library(
1876    name = "tsi",
1877    srcs = [
1878        "src/core/tsi/alts/handshaker/alts_handshaker_client.cc",
1879        "src/core/tsi/alts/handshaker/alts_tsi_event.cc",
1880        "src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc",
1881        "src/core/tsi/alts/handshaker/alts_tsi_utils.cc",
1882        "src/core/tsi/alts_transport_security.cc",
1883        "src/core/tsi/fake_transport_security.cc",
1884        "src/core/tsi/local_transport_security.cc",
1885        "src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc",
1886        "src/core/tsi/ssl/session_cache/ssl_session_cache.cc",
1887        "src/core/tsi/ssl/session_cache/ssl_session_openssl.cc",
1888        "src/core/tsi/ssl_transport_security.cc",
1889        "src/core/tsi/transport_security_grpc.cc",
1890    ],
1891    hdrs = [
1892        "src/core/tsi/alts/handshaker/alts_handshaker_client.h",
1893        "src/core/tsi/alts/handshaker/alts_tsi_event.h",
1894        "src/core/tsi/alts/handshaker/alts_tsi_handshaker.h",
1895        "src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h",
1896        "src/core/tsi/alts/handshaker/alts_tsi_utils.h",
1897        "src/core/tsi/alts_transport_security.h",
1898        "src/core/tsi/fake_transport_security.h",
1899        "src/core/tsi/local_transport_security.h",
1900        "src/core/tsi/ssl/session_cache/ssl_session.h",
1901        "src/core/tsi/ssl/session_cache/ssl_session_cache.h",
1902        "src/core/tsi/ssl_transport_security.h",
1903        "src/core/tsi/ssl_types.h",
1904        "src/core/tsi/transport_security_grpc.h",
1905    ],
1906    external_deps = [
1907        "libssl",
1908    ],
1909    language = "c++",
1910    deps = [
1911        "alts_frame_protector",
1912        "alts_util",
1913        "gpr",
1914        "grpc_base",
1915        "grpc_transport_chttp2_client_insecure",
1916        "tsi_interface",
1917        "grpc_shadow_boringssl",
1918    ],
1919)
1920
1921grpc_cc_library(
1922    name = "grpc++_base",
1923    srcs = GRPCXX_SRCS,
1924    hdrs = GRPCXX_HDRS,
1925    language = "c++",
1926    public_hdrs = GRPCXX_PUBLIC_HDRS,
1927    deps = [
1928        "grpc",
1929        "grpc++_codegen_base",
1930    ],
1931)
1932
1933grpc_cc_library(
1934    name = "grpc++_base_unsecure",
1935    srcs = GRPCXX_SRCS,
1936    hdrs = GRPCXX_HDRS,
1937    language = "c++",
1938    public_hdrs = GRPCXX_PUBLIC_HDRS,
1939    deps = [
1940        "grpc++_codegen_base",
1941        "grpc_unsecure",
1942    ],
1943)
1944
1945grpc_cc_library(
1946    name = "grpc++_codegen_base",
1947    language = "c++",
1948    public_hdrs = [
1949        "include/grpc++/impl/codegen/async_stream.h",
1950        "include/grpc++/impl/codegen/async_unary_call.h",
1951        "include/grpc++/impl/codegen/byte_buffer.h",
1952        "include/grpc++/impl/codegen/call.h",
1953        "include/grpc++/impl/codegen/call_hook.h",
1954        "include/grpc++/impl/codegen/channel_interface.h",
1955        "include/grpc++/impl/codegen/client_context.h",
1956        "include/grpc++/impl/codegen/client_unary_call.h",
1957        "include/grpc++/impl/codegen/completion_queue.h",
1958        "include/grpc++/impl/codegen/completion_queue_tag.h",
1959        "include/grpc++/impl/codegen/config.h",
1960        "include/grpc++/impl/codegen/core_codegen_interface.h",
1961        "include/grpc++/impl/codegen/create_auth_context.h",
1962        "include/grpc++/impl/codegen/grpc_library.h",
1963        "include/grpc++/impl/codegen/metadata_map.h",
1964        "include/grpc++/impl/codegen/method_handler_impl.h",
1965        "include/grpc++/impl/codegen/rpc_method.h",
1966        "include/grpc++/impl/codegen/rpc_service_method.h",
1967        "include/grpc++/impl/codegen/security/auth_context.h",
1968        "include/grpc++/impl/codegen/serialization_traits.h",
1969        "include/grpc++/impl/codegen/server_context.h",
1970        "include/grpc++/impl/codegen/server_interface.h",
1971        "include/grpc++/impl/codegen/service_type.h",
1972        "include/grpc++/impl/codegen/slice.h",
1973        "include/grpc++/impl/codegen/status.h",
1974        "include/grpc++/impl/codegen/status_code_enum.h",
1975        "include/grpc++/impl/codegen/string_ref.h",
1976        "include/grpc++/impl/codegen/stub_options.h",
1977        "include/grpc++/impl/codegen/sync_stream.h",
1978        "include/grpc++/impl/codegen/time.h",
1979        "include/grpcpp/impl/codegen/async_generic_service.h",
1980        "include/grpcpp/impl/codegen/async_stream.h",
1981        "include/grpcpp/impl/codegen/async_unary_call.h",
1982        "include/grpcpp/impl/codegen/byte_buffer.h",
1983        "include/grpcpp/impl/codegen/call.h",
1984        "include/grpcpp/impl/codegen/call_hook.h",
1985        "include/grpcpp/impl/codegen/callback_common.h",
1986        "include/grpcpp/impl/codegen/channel_interface.h",
1987        "include/grpcpp/impl/codegen/client_callback.h",
1988        "include/grpcpp/impl/codegen/client_context.h",
1989        "include/grpcpp/impl/codegen/client_unary_call.h",
1990        "include/grpcpp/impl/codegen/completion_queue.h",
1991        "include/grpcpp/impl/codegen/completion_queue_tag.h",
1992        "include/grpcpp/impl/codegen/config.h",
1993        "include/grpcpp/impl/codegen/core_codegen_interface.h",
1994        "include/grpcpp/impl/codegen/create_auth_context.h",
1995        "include/grpcpp/impl/codegen/grpc_library.h",
1996        "include/grpcpp/impl/codegen/metadata_map.h",
1997        "include/grpcpp/impl/codegen/method_handler_impl.h",
1998        "include/grpcpp/impl/codegen/rpc_method.h",
1999        "include/grpcpp/impl/codegen/rpc_service_method.h",
2000        "include/grpcpp/impl/codegen/security/auth_context.h",
2001        "include/grpcpp/impl/codegen/serialization_traits.h",
2002        "include/grpcpp/impl/codegen/server_context.h",
2003        "include/grpcpp/impl/codegen/server_interface.h",
2004        "include/grpcpp/impl/codegen/service_type.h",
2005        "include/grpcpp/impl/codegen/slice.h",
2006        "include/grpcpp/impl/codegen/status.h",
2007        "include/grpcpp/impl/codegen/status_code_enum.h",
2008        "include/grpcpp/impl/codegen/string_ref.h",
2009        "include/grpcpp/impl/codegen/stub_options.h",
2010        "include/grpcpp/impl/codegen/sync_stream.h",
2011        "include/grpcpp/impl/codegen/time.h",
2012    ],
2013    deps = [
2014        "grpc_codegen",
2015    ],
2016)
2017
2018grpc_cc_library(
2019    name = "grpc++_codegen_base_src",
2020    srcs = [
2021        "src/cpp/codegen/codegen_init.cc",
2022    ],
2023    language = "c++",
2024    deps = [
2025        "grpc++_codegen_base",
2026    ],
2027)
2028
2029grpc_cc_library(
2030    name = "grpc++_codegen_proto",
2031    language = "c++",
2032    public_hdrs = [
2033        "include/grpc++/impl/codegen/proto_utils.h",
2034        "include/grpcpp/impl/codegen/proto_buffer_reader.h",
2035        "include/grpcpp/impl/codegen/proto_buffer_writer.h",
2036        "include/grpcpp/impl/codegen/proto_utils.h",
2037    ],
2038    deps = [
2039        "grpc++_codegen_base",
2040        "grpc++_config_proto",
2041    ],
2042)
2043
2044grpc_cc_library(
2045    name = "grpc++_config_proto",
2046    external_deps = [
2047        "protobuf_headers",
2048    ],
2049    language = "c++",
2050    public_hdrs = [
2051        "include/grpc++/impl/codegen/config_protobuf.h",
2052        "include/grpcpp/impl/codegen/config_protobuf.h",
2053    ],
2054)
2055
2056grpc_cc_library(
2057    name = "grpc++_reflection",
2058    srcs = [
2059        "src/cpp/ext/proto_server_reflection.cc",
2060        "src/cpp/ext/proto_server_reflection_plugin.cc",
2061    ],
2062    hdrs = [
2063        "src/cpp/ext/proto_server_reflection.h",
2064    ],
2065    language = "c++",
2066    public_hdrs = [
2067        "include/grpc++/ext/proto_server_reflection_plugin.h",
2068        "include/grpcpp/ext/proto_server_reflection_plugin.h",
2069    ],
2070    deps = [
2071        ":grpc++",
2072        "//src/proto/grpc/reflection/v1alpha:reflection_proto",
2073    ],
2074    alwayslink = 1,
2075)
2076
2077grpc_cc_library(
2078    name = "grpcpp_channelz",
2079    srcs = [
2080        "src/cpp/server/channelz/channelz_service.cc",
2081        "src/cpp/server/channelz/channelz_service_plugin.cc",
2082    ],
2083    hdrs = [
2084        "src/cpp/server/channelz/channelz_service.h",
2085    ],
2086    language = "c++",
2087    public_hdrs = [
2088        "include/grpcpp/ext/channelz_service_plugin.h",
2089    ],
2090    deps = [
2091        ":grpc++",
2092        "//src/proto/grpc/channelz:channelz_proto",
2093    ],
2094    alwayslink = 1,
2095)
2096
2097grpc_cc_library(
2098    name = "grpc++_test",
2099    public_hdrs = [
2100        "include/grpc++/test/mock_stream.h",
2101        "include/grpc++/test/server_context_test_spouse.h",
2102        "include/grpcpp/test/mock_stream.h",
2103        "include/grpcpp/test/server_context_test_spouse.h",
2104    ],
2105    deps = [
2106        ":grpc++",
2107    ],
2108)
2109
2110grpc_cc_library(
2111    name = "grpc_server_backward_compatibility",
2112    srcs = [
2113        "src/core/ext/filters/workarounds/workaround_utils.cc",
2114    ],
2115    hdrs = [
2116        "src/core/ext/filters/workarounds/workaround_utils.h",
2117    ],
2118    language = "c++",
2119    deps = [
2120        "grpc_base",
2121    ],
2122)
2123
2124grpc_cc_library(
2125    name = "grpc++_core_stats",
2126    srcs = [
2127        "src/cpp/util/core_stats.cc",
2128    ],
2129    hdrs = [
2130        "src/cpp/util/core_stats.h",
2131    ],
2132    language = "c++",
2133    deps = [
2134        ":grpc++",
2135        "//src/proto/grpc/core:stats_proto",
2136    ],
2137)
2138
2139grpc_cc_library(
2140    name = "grpc_opencensus_plugin",
2141    srcs = [
2142        "src/cpp/ext/filters/census/channel_filter.cc",
2143        "src/cpp/ext/filters/census/client_filter.cc",
2144        "src/cpp/ext/filters/census/context.cc",
2145        "src/core/ext/filters/census/grpc_context.cc",
2146        "src/cpp/ext/filters/census/grpc_plugin.cc",
2147        "src/cpp/ext/filters/census/measures.cc",
2148        "src/cpp/ext/filters/census/rpc_encoding.cc",
2149        "src/cpp/ext/filters/census/server_filter.cc",
2150        "src/cpp/ext/filters/census/views.cc",
2151    ],
2152    hdrs = [
2153        "include/grpcpp/opencensus.h",
2154        "src/cpp/ext/filters/census/channel_filter.h",
2155        "src/cpp/ext/filters/census/client_filter.h",
2156        "src/cpp/ext/filters/census/context.h",
2157        "src/cpp/ext/filters/census/grpc_plugin.h",
2158        "src/cpp/ext/filters/census/measures.h",
2159        "src/cpp/ext/filters/census/rpc_encoding.h",
2160        "src/cpp/ext/filters/census/server_filter.h",
2161    ],
2162    external_deps = [
2163        "absl-base",
2164        "absl-time",
2165        "opencensus-trace",
2166        "opencensus-stats",
2167    ],
2168    language = "c++",
2169    deps = [
2170        ":census",
2171        ":grpc++",
2172    ],
2173)
2174
2175grpc_cc_library(
2176    name = "grpc_shadow_boringssl",
2177    hdrs = [
2178        "src/core/tsi/grpc_shadow_boringssl.h",
2179    ],
2180)
2181
2182grpc_generate_one_off_targets()
2183