• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_applicable_licenses: ["external_grpc-grpc_license"],
3}
4
5// Added automatically by a large-scale-change that took the approach of
6// 'apply every license found to every target'. While this makes sure we respect
7// every license restriction, it may not be entirely correct.
8//
9// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10//
11// Please consider splitting the single license below into multiple licenses,
12// taking care not to lose any license_kind information, and overriding the
13// default license using the 'licenses: [...]' property on targets as needed.
14//
15// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16// to attach the license to, and including a comment whether the files may be
17// used in the current project.
18//
19// large-scale-change included anything that looked like it might be a license
20// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
21//
22// Please consider removing redundant or irrelevant files from 'license_text:'.
23// See: http://go/android-license-faq
24license {
25    name: "external_grpc-grpc_license",
26    visibility: [":__subpackages__"],
27    license_kinds: [
28        "SPDX-license-identifier-Apache-2.0",
29        "SPDX-license-identifier-BSD",
30        "SPDX-license-identifier-ISC",
31        "SPDX-license-identifier-MIT",
32        "SPDX-license-identifier-MPL-2.0",
33        "SPDX-license-identifier-Zlib",
34        "legacy_unencumbered",
35    ],
36    license_text: [
37        "LICENSE",
38        "NOTICE.txt",
39    ],
40}
41
42cc_defaults {
43    name: "grpc_defaults",
44    cflags: [
45        "-Wno-unused-parameter",
46        "-Wno-implicit-fallthrough",
47        "-Wno-unused-result",
48    ],
49    host_supported: true,
50    vendor_available: true,
51    apex_available: [
52        "//apex_available:platform",
53        "com.android.bluetooth",
54    ],
55    shared_libs: [
56        "libz",
57    ],
58    stl: "libc++",
59    min_sdk_version: "30"
60}
61
62cc_library_host_static {
63    name: "libgrpc_plugin_support",
64    defaults: ["grpc_defaults"],
65    srcs: [
66        "src/compiler/cpp_generator.cc",
67        "src/compiler/python_generator.cc",
68    ],
69    local_include_dirs: [
70        "include",
71    ],
72    shared_libs: [
73        "libprotobuf-cpp-full",
74    ],
75}
76
77cc_binary_host {
78    name: "protoc-gen-grpc-cpp-plugin",
79    defaults: ["grpc_defaults"],
80    srcs: [
81        "src/compiler/cpp_plugin.cc",
82    ],
83    local_include_dirs: [
84        "include",
85    ],
86    static_libs: [
87        "libgrpc_plugin_support",
88    ],
89    shared_libs: [
90        "libprotoc",
91    ],
92}
93
94cc_binary_host {
95    name: "protoc-gen-grpc-python-plugin",
96    defaults: ["grpc_defaults"],
97    srcs: [
98        "src/compiler/python_plugin.cc",
99    ],
100    local_include_dirs: [
101        "include",
102    ],
103    static_libs: [
104        "libgrpc_plugin_support",
105    ],
106    shared_libs: [
107        "libprotoc",
108    ],
109}
110
111cc_library_static {
112    name: "libgrpc_resolver_fake",
113    defaults: ["grpc_defaults"],
114    srcs: [
115        "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc",
116    ],
117    local_include_dirs: [
118        "include",
119    ],
120    static_libs: [
121        "libgrpc_base",
122        "libgrpc_client_channel",
123    ],
124}
125
126cc_library_static {
127    name: "libgrpc_resolver_sockaddr",
128    defaults: ["grpc_defaults"],
129    srcs: [
130        "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
131    ],
132    local_include_dirs: [
133        "include",
134    ],
135    static_libs: [
136        "libgrpc_base",
137        "libgrpc_client_channel",
138    ],
139}
140
141cc_library_static {
142    name: "libgrpc_deadline_filter",
143    defaults: ["grpc_defaults"],
144    srcs: [
145        "src/core/ext/filters/deadline/deadline_filter.cc",
146    ],
147    local_include_dirs: [
148        "include",
149    ],
150    static_libs: [
151        "libgrpc_base",
152    ],
153}
154
155cc_library_static {
156    name: "libgrpc_server_backward_compatibility",
157    defaults: ["grpc_defaults"],
158    srcs: [
159        "src/core/ext/filters/workarounds/workaround_utils.cc",
160    ],
161    local_include_dirs: [
162        "include",
163    ],
164    static_libs: [
165        "libgrpc_base",
166        "libprotobuf-c-nano",
167    ],
168}
169
170cc_library_static {
171    name: "libgrpc_workaround_cronet_compression_filter",
172    defaults: ["grpc_defaults"],
173    srcs: [
174        "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc",
175    ],
176    local_include_dirs: [
177        "include",
178    ],
179    static_libs: [
180        "libgrpc_base",
181        "libgrpc_server_backward_compatibility",
182        "libprotobuf-c-nano",
183    ],
184}
185
186cc_library_static {
187    name: "libgrpc_client_authority_filter",
188    defaults: ["grpc_defaults"],
189    srcs: [
190        "src/core/ext/filters/http/client_authority_filter.cc",
191    ],
192    local_include_dirs: [
193        "include",
194    ],
195    static_libs: [
196        "libgrpc_base",
197    ],
198}
199
200cc_library_static {
201    name: "libgrpc_lb_policy_round_robin",
202    defaults: ["grpc_defaults"],
203    srcs: [
204        "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
205    ],
206    local_include_dirs: [
207        "include",
208    ],
209    static_libs: [
210        "libgrpc_base",
211        "libgrpc_client_channel",
212        "libgrpc_deadline_filter",
213    ],
214}
215
216cc_library_static {
217    name: "libgrpc_lb_policy_pick_first",
218    defaults: ["grpc_defaults"],
219    srcs: [
220        "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
221    ],
222    local_include_dirs: [
223        "include",
224    ],
225    static_libs: [
226        "libgrpc_base",
227        "libgrpc_client_channel",
228        "libgrpc_deadline_filter",
229    ],
230}
231
232cc_library_static {
233    name: "libgrpc_max_age_filter",
234    defaults: ["grpc_defaults"],
235    srcs: [
236        "src/core/ext/filters/max_age/max_age_filter.cc",
237    ],
238    local_include_dirs: [
239        "include",
240    ],
241    static_libs: [
242        "libgrpc_base",
243    ],
244}
245
246cc_library_static {
247    name: "libgrpc_transport_chttp2_alpn",
248    defaults: ["grpc_defaults"],
249    srcs: [
250        "src/core/ext/transport/chttp2/alpn/alpn.cc",
251    ],
252    static_libs: [
253        "gpr_base",
254    ],
255    shared_libs: [
256        "liblog",
257    ],
258}
259
260cc_library_static {
261    name: "libgrpc_transport_chttp2_client_connector",
262    defaults: ["grpc_defaults"],
263    srcs: [
264        "src/core/ext/transport/chttp2/client/authority.cc",
265        "src/core/ext/transport/chttp2/client/chttp2_connector.cc",
266    ],
267    local_include_dirs: [
268        "include",
269    ],
270    static_libs: [
271        "libgrpc_base",
272        "libgrpc_client_channel",
273        "libgrpc_deadline_filter",
274        "libgrpc_transport_chttp2",
275        "libprotobuf-c-nano",
276    ],
277}
278
279cc_library_static {
280    name: "libgrpc_transport_chttp2_server_insecure",
281    defaults: ["grpc_defaults"],
282    srcs: [
283        "src/core/ext/transport/chttp2/server/chttp2_server.cc",
284        "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc",
285        "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc",
286    ],
287    local_include_dirs: [
288        "include",
289    ],
290    static_libs: [
291        "libgrpc_base",
292        "libgrpc_transport_chttp2",
293        "libprotobuf-c-nano",
294    ],
295}
296
297cc_library_static {
298    name: "libgrpc_transport_chttp2_server_secure",
299    defaults: ["grpc_defaults"],
300    srcs: [
301        "src/core/ext/transport/chttp2/server/chttp2_server.cc",
302        "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc",
303    ],
304    local_include_dirs: [
305        "include",
306    ],
307    static_libs: [
308        "libgrpc_base",
309        "libgrpc_transport_chttp2",
310        "libprotobuf-c-nano",
311    ],
312}
313
314cc_library_static {
315    name: "libgrpc_transport_chttp2_client_insecure",
316    defaults: ["grpc_defaults"],
317    srcs: [
318        "src/core/ext/transport/chttp2/client/insecure/channel_create.cc",
319        "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc",
320    ],
321    local_include_dirs: [
322        "include",
323    ],
324    static_libs: [
325        "libgrpc_base",
326        "libgrpc_client_channel",
327        "libgrpc_deadline_filter",
328        "libgrpc_transport_chttp2",
329        "libgrpc_transport_chttp2_client_connector",
330        "libprotobuf-c-nano",
331    ],
332}
333
334cc_library_static {
335    name: "libgrpc_transport_chttp2_client_secure",
336    defaults: ["grpc_defaults"],
337    srcs: [
338        "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc",
339    ],
340    local_include_dirs: [
341        "include",
342    ],
343    static_libs: [
344        "libgrpc_base",
345        "libgrpc_client_channel",
346        "libgrpc_deadline_filter",
347        "libgrpc_transport_chttp2",
348        "libgrpc_transport_chttp2_client_connector",
349        "libprotobuf-c-nano",
350    ],
351}
352
353cc_library_static {
354    name: "libgrpc_message_size_filter",
355    defaults: ["grpc_defaults"],
356    srcs: [
357        "src/core/ext/filters/message_size/message_size_filter.cc",
358    ],
359    local_include_dirs: [
360        "include",
361    ],
362    static_libs: [
363        "libgrpc_base",
364    ],
365}
366
367cc_library_static {
368    name: "libgrpc_transport_inproc",
369    defaults: ["grpc_defaults"],
370    srcs: [
371        "src/core/ext/transport/inproc/inproc_plugin.cc",
372        "src/core/ext/transport/inproc/inproc_transport.cc",
373    ],
374    local_include_dirs: [
375        "include",
376    ],
377    static_libs: [
378        "libgrpc_base",
379        "libprotobuf-c-nano",
380    ],
381}
382
383cc_library_static {
384    name: "libgrpc_resolver_dns_ares",
385    defaults: ["grpc_defaults"],
386    srcs: [
387        "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc",
388        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc",
389        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc",
390        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc",
391        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc",
392        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc",
393        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc",
394        "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc",
395    ],
396    local_include_dirs: [
397        "include",
398        "third_party/cares",
399        "third_party/cares/config_android",
400    ],
401    static_libs: [
402        "libaddress_sorting",
403        "libgrpc_base",
404        "libgrpc_client_channel",
405        "libprotobuf-c-nano",
406    ],
407}
408
409cc_library_static {
410    name: "libgrpc_resolver_dns_native",
411    defaults: ["grpc_defaults"],
412    srcs: [
413        "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
414    ],
415    local_include_dirs: [
416        "include",
417    ],
418    static_libs: [
419        "libgrpc_base",
420        "libgrpc_client_channel",
421    ],
422}
423
424cc_library_static {
425    name: "libgrpc_http_filters",
426    defaults: ["grpc_defaults"],
427    srcs: [
428        "src/core/ext/filters/http/client/http_client_filter.cc",
429        "src/core/ext/filters/http/http_filters_plugin.cc",
430        "src/core/ext/filters/http/message_compress/message_compress_filter.cc",
431        "src/core/ext/filters/http/server/http_server_filter.cc",
432    ],
433    local_include_dirs: [
434        "include",
435    ],
436    static_libs: [
437        "libgrpc_base",
438        "libgrpc_client_channel",
439        "libprotobuf-c-nano",
440    ],
441}
442
443cc_library_static {
444    name: "libgrpc_secure",
445    defaults: ["grpc_defaults"],
446    srcs: [
447        "src/core/lib/http/httpcli_security_connector.cc",
448        "src/core/lib/security/context/security_context.cc",
449        "src/core/lib/security/credentials/alts/alts_credentials.cc",
450        "src/core/lib/security/credentials/composite/composite_credentials.cc",
451        "src/core/lib/security/credentials/credentials.cc",
452        "src/core/lib/security/credentials/credentials_metadata.cc",
453        "src/core/lib/security/credentials/fake/fake_credentials.cc",
454        "src/core/lib/security/credentials/google_default/credentials_generic.cc",
455        "src/core/lib/security/credentials/google_default/google_default_credentials.cc",
456        "src/core/lib/security/credentials/iam/iam_credentials.cc",
457        "src/core/lib/security/credentials/jwt/json_token.cc",
458        "src/core/lib/security/credentials/jwt/jwt_credentials.cc",
459        "src/core/lib/security/credentials/jwt/jwt_verifier.cc",
460        "src/core/lib/security/credentials/local/local_credentials.cc",
461        "src/core/lib/security/credentials/oauth2/oauth2_credentials.cc",
462        "src/core/lib/security/credentials/plugin/plugin_credentials.cc",
463        "src/core/lib/security/credentials/ssl/ssl_credentials.cc",
464        "src/core/lib/security/security_connector/alts_security_connector.cc",
465        "src/core/lib/security/security_connector/load_system_roots_fallback.cc",
466        "src/core/lib/security/security_connector/load_system_roots_linux.cc",
467        "src/core/lib/security/security_connector/local_security_connector.cc",
468        "src/core/lib/security/security_connector/security_connector.cc",
469        "src/core/lib/security/transport/client_auth_filter.cc",
470        "src/core/lib/security/transport/secure_endpoint.cc",
471        "src/core/lib/security/transport/security_handshaker.cc",
472        "src/core/lib/security/transport/server_auth_filter.cc",
473        "src/core/lib/security/transport/target_authority_table.cc",
474        "src/core/lib/security/transport/tsi_error.cc",
475        "src/core/lib/security/util/json_util.cc",
476        "src/core/lib/surface/init_secure.cc",
477    ],
478    local_include_dirs: [
479        "include",
480        "third_party/nanopb",
481    ],
482    static_libs: [
483        "libgrpc_base",
484        "libgrpc_transport_chttp2_alpn",
485    ],
486    whole_static_libs: [
487        "libalts_frame_protector",
488        "libtsi",
489    ],
490    shared_libs: [
491        "libcrypto",
492        "libssl",
493    ],
494}
495
496cc_library_static {
497    name: "libalts_util",
498    defaults: ["grpc_defaults"],
499    srcs: [
500        "src/core/lib/security/credentials/alts/check_gcp_environment.cc",
501        "src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
502        "src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
503        "src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
504        "src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
505        "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
506        "src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
507        "src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc",
508        "src/core/tsi/alts/handshaker/altscontext.pb.c",
509        "src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc",
510        "src/core/tsi/alts/handshaker/handshaker.pb.c",
511        "src/core/tsi/alts/handshaker/transport_security_common_api.cc",
512        "src/core/tsi/alts/handshaker/transport_security_common.pb.c",
513    ],
514    local_include_dirs: [
515        "include",
516    ],
517    static_libs: [
518        "libprotobuf-c-nano",
519    ],
520    cflags: [
521        "-DPB_FIELD_16BIT",
522    ],
523}
524
525cc_library_static {
526    name: "libtsi",
527    defaults: ["grpc_defaults"],
528    srcs: [
529        "src/core/tsi/alts/handshaker/alts_handshaker_client.cc",
530        "src/core/tsi/alts/handshaker/alts_tsi_event.cc",
531        "src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc",
532        "src/core/tsi/alts/handshaker/alts_tsi_utils.cc",
533        "src/core/tsi/alts_transport_security.cc",
534        "src/core/tsi/fake_transport_security.cc",
535        "src/core/tsi/local_transport_security.cc",
536        "src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc",
537        "src/core/tsi/ssl/session_cache/ssl_session_cache.cc",
538        "src/core/tsi/ssl/session_cache/ssl_session_openssl.cc",
539        "src/core/tsi/ssl_transport_security.cc",
540        "src/core/tsi/transport_security_grpc.cc",
541    ],
542    local_include_dirs: [
543        "include",
544        "third_party/nanopb",
545    ],
546    static_libs: [
547        "libalts_frame_protector",
548        "gpr_base",
549        "libgrpc_base",
550        "libgrpc_transport_chttp2_client_insecure",
551    ],
552    whole_static_libs: [
553        "libalts_util",
554    ],
555    shared_libs: [
556        "libcrypto",
557        "libssl",
558    ],
559}
560
561cc_library_static {
562    name: "libalts_frame_protector",
563    defaults: ["grpc_defaults"],
564    srcs: [
565        "src/core/tsi/alts/crypt/aes_gcm.cc",
566        "src/core/tsi/alts/crypt/gsec.cc",
567        "src/core/tsi/alts/frame_protector/alts_counter.cc",
568        "src/core/tsi/alts/frame_protector/alts_crypter.cc",
569        "src/core/tsi/alts/frame_protector/alts_frame_protector.cc",
570        "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc",
571        "src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc",
572        "src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc",
573        "src/core/tsi/alts/frame_protector/frame_handler.cc",
574        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc",
575        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc",
576        "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc",
577        "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc",
578        "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc",
579    ],
580    local_include_dirs: [
581        "include",
582    ],
583    static_libs: [
584        "gpr_base",
585        "libgrpc_base",
586    ],
587    whole_static_libs: [
588        "libtsi_interface",
589    ],
590    shared_libs: [
591        "libcrypto",
592        "libssl",
593    ],
594}
595
596cc_library_static {
597    name: "libtsi_interface",
598    defaults: ["grpc_defaults"],
599    srcs: [
600        "src/core/tsi/transport_security.cc",
601    ],
602    static_libs: [
603        "libgrpc_trace",
604    ],
605}
606
607cc_library_static {
608    name: "libgrpc_transport_chttp2",
609    defaults: ["grpc_defaults"],
610    srcs: [
611        "src/core/ext/transport/chttp2/transport/bin_decoder.cc",
612        "src/core/ext/transport/chttp2/transport/bin_encoder.cc",
613        "src/core/ext/transport/chttp2/transport/chttp2_plugin.cc",
614        "src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
615        "src/core/ext/transport/chttp2/transport/flow_control.cc",
616        "src/core/ext/transport/chttp2/transport/frame_data.cc",
617        "src/core/ext/transport/chttp2/transport/frame_goaway.cc",
618        "src/core/ext/transport/chttp2/transport/frame_ping.cc",
619        "src/core/ext/transport/chttp2/transport/frame_rst_stream.cc",
620        "src/core/ext/transport/chttp2/transport/frame_settings.cc",
621        "src/core/ext/transport/chttp2/transport/frame_window_update.cc",
622        "src/core/ext/transport/chttp2/transport/hpack_encoder.cc",
623        "src/core/ext/transport/chttp2/transport/hpack_parser.cc",
624        "src/core/ext/transport/chttp2/transport/hpack_mapping.cc",
625        "src/core/ext/transport/chttp2/transport/hpack_table.cc",
626        "src/core/ext/transport/chttp2/transport/http2_settings.cc",
627        "src/core/ext/transport/chttp2/transport/huffsyms.cc",
628        "src/core/ext/transport/chttp2/transport/incoming_metadata.cc",
629        "src/core/ext/transport/chttp2/transport/parsing.cc",
630        "src/core/ext/transport/chttp2/transport/stream_lists.cc",
631        "src/core/ext/transport/chttp2/transport/stream_map.cc",
632        "src/core/ext/transport/chttp2/transport/varint.cc",
633        "src/core/ext/transport/chttp2/transport/writing.cc",
634    ],
635    local_include_dirs: [
636        "include",
637    ],
638    static_libs: [
639        "libgrpc_base",
640        "libgrpc_http_filters",
641    ],
642    whole_static_libs: [
643        "libgrpc_transport_chttp2_alpn",
644    ],
645}
646
647cc_library_static {
648    name: "libgrpc_lb_policy_grpclb",
649    defaults: ["grpc_defaults"],
650    srcs: [
651        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
652        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
653        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc",
654        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
655        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
656        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c",
657        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c",
658        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c",
659    ],
660    local_include_dirs: [
661        "include",
662        "src/core/ext/filters/client_channel/lb_policy/grpclb",
663    ],
664    static_libs: [
665        "libgrpc_base",
666        "libgrpc_client_channel",
667        "libgrpc_deadline_filter",
668        "libgrpc_resolver_fake",
669        "libprotobuf-c-nano",
670    ],
671}
672
673cc_library_static {
674    name: "libgrpc_lb_policy_grpclb_secure",
675    defaults: ["grpc_defaults"],
676    srcs: [
677        "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
678        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
679        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc",
680        "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
681        "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
682        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c",
683        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c",
684        "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c",
685    ],
686    local_include_dirs: [
687        "include",
688        "src/core/ext/filters/client_channel/lb_policy/grpclb",
689    ],
690    static_libs: [
691        "libgrpc_base",
692        "libgrpc_client_channel",
693        "libgrpc_deadline_filter",
694        "libgrpc_resolver_fake",
695        "libprotobuf-c-nano",
696    ],
697}
698
699cc_library_static {
700    name: "libgrpc++_codegen_base_src",
701    defaults: ["grpc_defaults"],
702    srcs: [
703        "src/cpp/codegen/codegen_init.cc",
704    ],
705    local_include_dirs: [
706        "include",
707    ],
708}
709
710cc_library_static {
711    name: "gpr_base",
712    defaults: ["grpc_defaults"],
713    srcs: [
714        "src/core/lib/gpr/alloc.cc",
715        "src/core/lib/gpr/arena.cc",
716        "src/core/lib/gpr/atm.cc",
717        "src/core/lib/gpr/cpu_iphone.cc",
718        "src/core/lib/gpr/cpu_linux.cc",
719        "src/core/lib/gpr/cpu_posix.cc",
720        "src/core/lib/gpr/cpu_windows.cc",
721        "src/core/lib/gpr/env_linux.cc",
722        "src/core/lib/gpr/env_posix.cc",
723        "src/core/lib/gpr/env_windows.cc",
724        "src/core/lib/gpr/host_port.cc",
725        "src/core/lib/gpr/log.cc",
726        "src/core/lib/gpr/log_android.cc",
727        "src/core/lib/gpr/log_linux.cc",
728        "src/core/lib/gpr/log_posix.cc",
729        "src/core/lib/gpr/log_windows.cc",
730        "src/core/lib/gpr/mpscq.cc",
731        "src/core/lib/gpr/murmur_hash.cc",
732        "src/core/lib/gpr/string.cc",
733        "src/core/lib/gpr/string_posix.cc",
734        "src/core/lib/gpr/string_util_windows.cc",
735        "src/core/lib/gpr/string_windows.cc",
736        "src/core/lib/gpr/sync.cc",
737        "src/core/lib/gpr/sync_posix.cc",
738        "src/core/lib/gpr/sync_windows.cc",
739        "src/core/lib/gpr/time.cc",
740        "src/core/lib/gpr/time_posix.cc",
741        "src/core/lib/gpr/time_precise.cc",
742        "src/core/lib/gpr/time_windows.cc",
743        "src/core/lib/gpr/tls_pthread.cc",
744        "src/core/lib/gpr/tmpfile_msys.cc",
745        "src/core/lib/gpr/tmpfile_posix.cc",
746        "src/core/lib/gpr/tmpfile_windows.cc",
747        "src/core/lib/gpr/wrap_memcpy.cc",
748        "src/core/lib/gprpp/fork.cc",
749        "src/core/lib/gprpp/thd_posix.cc",
750        "src/core/lib/gprpp/thd_windows.cc",
751        "src/core/lib/profiling/basic_timers.cc",
752        "src/core/lib/profiling/stap_timers.cc",
753    ],
754    shared_libs: [
755        "liblog",
756    ],
757    export_include_dirs: [
758        "include",
759        ".",
760    ],
761}
762
763cc_library_static {
764    name: "libgrpc_client_channel",
765    defaults: ["grpc_defaults"],
766    srcs: [
767        "src/core/ext/filters/client_channel/backup_poller.cc",
768        "src/core/ext/filters/client_channel/channel_connectivity.cc",
769        "src/core/ext/filters/client_channel/client_channel.cc",
770        "src/core/ext/filters/client_channel/client_channel_channelz.cc",
771        "src/core/ext/filters/client_channel/client_channel_factory.cc",
772        "src/core/ext/filters/client_channel/client_channel_plugin.cc",
773        "src/core/ext/filters/client_channel/connector.cc",
774        "src/core/ext/filters/client_channel/http_connect_handshaker.cc",
775        "src/core/ext/filters/client_channel/http_proxy.cc",
776        "src/core/ext/filters/client_channel/lb_policy.cc",
777        "src/core/ext/filters/client_channel/lb_policy_factory.cc",
778        "src/core/ext/filters/client_channel/lb_policy_registry.cc",
779        "src/core/ext/filters/client_channel/method_params.cc",
780        "src/core/ext/filters/client_channel/parse_address.cc",
781        "src/core/ext/filters/client_channel/proxy_mapper.cc",
782        "src/core/ext/filters/client_channel/proxy_mapper_registry.cc",
783        "src/core/ext/filters/client_channel/resolver.cc",
784        "src/core/ext/filters/client_channel/resolver_registry.cc",
785        "src/core/ext/filters/client_channel/retry_throttle.cc",
786        "src/core/ext/filters/client_channel/subchannel.cc",
787        "src/core/ext/filters/client_channel/subchannel_index.cc",
788        "src/core/ext/filters/client_channel/uri_parser.cc",
789    ],
790    local_include_dirs: [
791        "include",
792        "src/core/ext/filters/client_channel",
793    ],
794    static_libs: [
795        "libgrpc_base",
796        "libgrpc_deadline_filter",
797    ],
798}
799
800cc_library_static {
801    name: "libgrpc_trace",
802    defaults: ["grpc_defaults"],
803    srcs: [
804        "src/core/lib/debug/trace.cc",
805    ],
806    whole_static_libs: [
807        "gpr_base",
808    ],
809    shared_libs: [
810        "liblog",
811    ],
812}
813
814cc_library_static {
815    name: "libgrpc_base_c",
816    defaults: ["grpc_defaults"],
817    srcs: [
818        "src/core/lib/avl/avl.cc",
819        "src/core/lib/backoff/backoff.cc",
820        "src/core/lib/channel/channel_args.cc",
821        "src/core/lib/channel/channel_stack.cc",
822        "src/core/lib/channel/channel_stack_builder.cc",
823        "src/core/lib/channel/channel_trace.cc",
824        "src/core/lib/channel/channelz.cc",
825        "src/core/lib/channel/channelz_registry.cc",
826        "src/core/lib/channel/connected_channel.cc",
827        "src/core/lib/channel/handshaker.cc",
828        "src/core/lib/channel/handshaker_factory.cc",
829        "src/core/lib/channel/handshaker_registry.cc",
830        "src/core/lib/channel/status_util.cc",
831        "src/core/lib/compression/compression.cc",
832        "src/core/lib/compression/compression_internal.cc",
833        "src/core/lib/compression/message_compress.cc",
834        "src/core/lib/compression/stream_compression.cc",
835        "src/core/lib/compression/stream_compression_gzip.cc",
836        "src/core/lib/compression/stream_compression_identity.cc",
837        "src/core/lib/debug/stats.cc",
838        "src/core/lib/debug/stats_data.cc",
839        "src/core/lib/http/format_request.cc",
840        "src/core/lib/http/httpcli.cc",
841        "src/core/lib/http/parser.cc",
842        "src/core/lib/iomgr/buffer_list.cc",
843        "src/core/lib/iomgr/call_combiner.cc",
844        "src/core/lib/iomgr/combiner.cc",
845        "src/core/lib/iomgr/endpoint.cc",
846        "src/core/lib/iomgr/endpoint_pair_posix.cc",
847        "src/core/lib/iomgr/endpoint_pair_uv.cc",
848        "src/core/lib/iomgr/endpoint_pair_windows.cc",
849        "src/core/lib/iomgr/error.cc",
850        "src/core/lib/iomgr/ev_epoll1_linux.cc",
851        "src/core/lib/iomgr/ev_epollex_linux.cc",
852        "src/core/lib/iomgr/ev_epollsig_linux.cc",
853        "src/core/lib/iomgr/ev_poll_posix.cc",
854        "src/core/lib/iomgr/ev_posix.cc",
855        "src/core/lib/iomgr/ev_windows.cc",
856        "src/core/lib/iomgr/exec_ctx.cc",
857        "src/core/lib/iomgr/executor.cc",
858        "src/core/lib/iomgr/fork_posix.cc",
859        "src/core/lib/iomgr/fork_windows.cc",
860        "src/core/lib/iomgr/gethostname_fallback.cc",
861        "src/core/lib/iomgr/gethostname_host_name_max.cc",
862        "src/core/lib/iomgr/gethostname_sysconf.cc",
863        "src/core/lib/iomgr/internal_errqueue.cc",
864        "src/core/lib/iomgr/iocp_windows.cc",
865        "src/core/lib/iomgr/iomgr.cc",
866        "src/core/lib/iomgr/iomgr_custom.cc",
867        "src/core/lib/iomgr/iomgr_internal.cc",
868        "src/core/lib/iomgr/iomgr_posix.cc",
869        "src/core/lib/iomgr/iomgr_windows.cc",
870        "src/core/lib/iomgr/is_epollexclusive_available.cc",
871        "src/core/lib/iomgr/load_file.cc",
872        "src/core/lib/iomgr/lockfree_event.cc",
873        "src/core/lib/iomgr/network_status_tracker.cc",
874        "src/core/lib/iomgr/polling_entity.cc",
875        "src/core/lib/iomgr/pollset.cc",
876        "src/core/lib/iomgr/pollset_custom.cc",
877        "src/core/lib/iomgr/pollset_set.cc",
878        "src/core/lib/iomgr/pollset_set_custom.cc",
879        "src/core/lib/iomgr/pollset_set_windows.cc",
880        "src/core/lib/iomgr/pollset_uv.cc",
881        "src/core/lib/iomgr/pollset_windows.cc",
882        "src/core/lib/iomgr/resolve_address.cc",
883        "src/core/lib/iomgr/resolve_address_custom.cc",
884        "src/core/lib/iomgr/resolve_address_posix.cc",
885        "src/core/lib/iomgr/resolve_address_windows.cc",
886        "src/core/lib/iomgr/resource_quota.cc",
887        "src/core/lib/iomgr/sockaddr_utils.cc",
888        "src/core/lib/iomgr/socket_factory_posix.cc",
889        "src/core/lib/iomgr/socket_mutator.cc",
890        "src/core/lib/iomgr/socket_utils_common_posix.cc",
891        "src/core/lib/iomgr/socket_utils_linux.cc",
892        "src/core/lib/iomgr/socket_utils_posix.cc",
893        "src/core/lib/iomgr/socket_utils_windows.cc",
894        "src/core/lib/iomgr/socket_windows.cc",
895        "src/core/lib/iomgr/tcp_client.cc",
896        "src/core/lib/iomgr/tcp_client_custom.cc",
897        "src/core/lib/iomgr/tcp_client_posix.cc",
898        "src/core/lib/iomgr/tcp_client_windows.cc",
899        "src/core/lib/iomgr/tcp_custom.cc",
900        "src/core/lib/iomgr/tcp_posix.cc",
901        "src/core/lib/iomgr/tcp_server.cc",
902        "src/core/lib/iomgr/tcp_server_custom.cc",
903        "src/core/lib/iomgr/tcp_server_posix.cc",
904        "src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
905        "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
906        "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
907        "src/core/lib/iomgr/tcp_server_windows.cc",
908        "src/core/lib/iomgr/tcp_uv.cc",
909        "src/core/lib/iomgr/tcp_windows.cc",
910        "src/core/lib/iomgr/time_averaged_stats.cc",
911        "src/core/lib/iomgr/timer.cc",
912        "src/core/lib/iomgr/timer_custom.cc",
913        "src/core/lib/iomgr/timer_generic.cc",
914        "src/core/lib/iomgr/timer_heap.cc",
915        "src/core/lib/iomgr/timer_manager.cc",
916        "src/core/lib/iomgr/timer_uv.cc",
917        "src/core/lib/iomgr/udp_server.cc",
918        "src/core/lib/iomgr/unix_sockets_posix.cc",
919        "src/core/lib/iomgr/unix_sockets_posix_noop.cc",
920        "src/core/lib/iomgr/wakeup_fd_cv.cc",
921        "src/core/lib/iomgr/wakeup_fd_eventfd.cc",
922        "src/core/lib/iomgr/wakeup_fd_nospecial.cc",
923        "src/core/lib/iomgr/wakeup_fd_pipe.cc",
924        "src/core/lib/iomgr/wakeup_fd_posix.cc",
925        "src/core/lib/json/json.cc",
926        "src/core/lib/json/json_reader.cc",
927        "src/core/lib/json/json_string.cc",
928        "src/core/lib/json/json_writer.cc",
929        "src/core/lib/slice/b64.cc",
930        "src/core/lib/slice/percent_encoding.cc",
931        "src/core/lib/slice/slice.cc",
932        "src/core/lib/slice/slice_buffer.cc",
933        "src/core/lib/slice/slice_intern.cc",
934        "src/core/lib/slice/slice_string_helpers.cc",
935        "src/core/lib/surface/api_trace.cc",
936        "src/core/lib/surface/byte_buffer.cc",
937        "src/core/lib/surface/byte_buffer_reader.cc",
938        "src/core/lib/surface/call.cc",
939        "src/core/lib/surface/call_details.cc",
940        "src/core/lib/surface/call_log_batch.cc",
941        "src/core/lib/surface/channel.cc",
942        "src/core/lib/surface/channel_init.cc",
943        "src/core/lib/surface/channel_ping.cc",
944        "src/core/lib/surface/channel_stack_type.cc",
945        "src/core/lib/surface/completion_queue.cc",
946        "src/core/lib/surface/completion_queue_factory.cc",
947        "src/core/lib/surface/event_string.cc",
948        "src/core/lib/surface/metadata_array.cc",
949        "src/core/lib/surface/server.cc",
950        "src/core/lib/surface/validate_metadata.cc",
951        "src/core/lib/surface/version.cc",
952        "src/core/lib/transport/bdp_estimator.cc",
953        "src/core/lib/transport/byte_stream.cc",
954        "src/core/lib/transport/connectivity_state.cc",
955        "src/core/lib/transport/error_utils.cc",
956        "src/core/lib/transport/metadata.cc",
957        "src/core/lib/transport/metadata_batch.cc",
958        "src/core/lib/transport/pid_controller.cc",
959        "src/core/lib/transport/service_config.cc",
960        "src/core/lib/transport/static_metadata.cc",
961        "src/core/lib/transport/status_conversion.cc",
962        "src/core/lib/transport/status_metadata.cc",
963        "src/core/lib/transport/timeout_encoding.cc",
964        "src/core/lib/transport/transport.cc",
965        "src/core/lib/transport/transport_op_string.cc",
966    ],
967    whole_static_libs: [
968        "libgrpc_trace",
969    ],
970    shared_libs: [
971        "liblog",
972    ],
973}
974
975cc_library_static {
976    name: "census",
977    defaults: ["grpc_defaults"],
978    srcs: [
979        "src/core/ext/filters/census/grpc_context.cc",
980    ],
981    static_libs: [
982        "libgrpc_base",
983    ],
984    local_include_dirs: [
985        "include",
986    ],
987}
988
989grpc_common_libs = [
990    "libgrpc_base",
991    "census",
992    "libgrpc_base_c",
993    "libgrpc_deadline_filter",
994    "libgrpc_client_authority_filter",
995    "libgrpc_client_channel",
996    "libgrpc_lb_policy_pick_first",
997    "libgrpc_lb_policy_round_robin",
998    "libgrpc_max_age_filter",
999    "libgrpc_message_size_filter",
1000    "libgrpc_resolver_dns_ares",
1001    "libgrpc_resolver_fake",
1002    "libgrpc_resolver_dns_native",
1003    "libgrpc_resolver_sockaddr",
1004    "libgrpc_transport_chttp2_server_insecure",
1005    "libgrpc_transport_chttp2_client_insecure",
1006    "libgrpc_http_filters",
1007    "libgrpc_transport_chttp2",
1008    "libgrpc_transport_chttp2_client_connector",
1009    "libgrpc_transport_inproc",
1010    "libgrpc_workaround_cronet_compression_filter",
1011    "libgrpc_server_backward_compatibility",
1012    "libprotobuf-c-nano",
1013]
1014
1015cc_library_static {
1016    name: "libgrpc_unsecure",
1017    defaults: ["grpc_defaults"],
1018    srcs: [
1019        "src/core/lib/surface/init.cc",
1020        "src/core/lib/surface/init_unsecure.cc",
1021        "src/core/plugin_registry/grpc_unsecure_plugin_registry.cc",
1022    ],
1023    whole_static_libs: grpc_common_libs + [
1024        "libgrpc_lb_policy_grpclb",
1025    ],
1026    export_include_dirs: [
1027        "include",
1028        ".",
1029    ],
1030    local_include_dirs: [
1031        "third_party/cares",
1032        "third_party/cares/config_android",
1033    ],
1034}
1035
1036cc_library_static {
1037    name: "libgrpc",
1038    defaults: ["grpc_defaults"],
1039    srcs: [
1040        "src/core/lib/surface/init.cc",
1041        "src/core/plugin_registry/grpc_plugin_registry.cc",
1042    ],
1043    whole_static_libs: grpc_common_libs + [
1044        "libgrpc_lb_policy_grpclb_secure",
1045        "libgrpc_secure",
1046        "libgrpc_transport_chttp2_client_secure",
1047        "libgrpc_transport_chttp2_server_secure",
1048    ],
1049    export_include_dirs: [
1050        "include",
1051        ".",
1052    ],
1053    local_include_dirs: [
1054        "third_party/cares",
1055        "third_party/cares/config_android",
1056    ],
1057}
1058
1059GRPCXX_SRCS = [
1060    "src/cpp/client/channel_cc.cc",
1061    "src/cpp/client/client_context.cc",
1062    "src/cpp/client/create_channel.cc",
1063    "src/cpp/client/create_channel_internal.cc",
1064    "src/cpp/client/create_channel_posix.cc",
1065    "src/cpp/client/credentials_cc.cc",
1066    "src/cpp/client/generic_stub.cc",
1067    "src/cpp/common/alarm.cc",
1068    "src/cpp/common/channel_arguments.cc",
1069    "src/cpp/common/channel_filter.cc",
1070    "src/cpp/common/completion_queue_cc.cc",
1071    "src/cpp/common/core_codegen.cc",
1072    "src/cpp/common/resource_quota_cc.cc",
1073    "src/cpp/common/rpc_method.cc",
1074    "src/cpp/common/version_cc.cc",
1075    "src/cpp/server/async_generic_service.cc",
1076    "src/cpp/server/channel_argument_option.cc",
1077    "src/cpp/server/create_default_thread_pool.cc",
1078    "src/cpp/server/dynamic_thread_pool.cc",
1079    "src/cpp/server/health/default_health_check_service.cc",
1080    "src/cpp/server/health/health.pb.c",
1081    "src/cpp/server/health/health_check_service.cc",
1082    "src/cpp/server/health/health_check_service_server_builder_option.cc",
1083    "src/cpp/server/server_builder.cc",
1084    "src/cpp/server/server_cc.cc",
1085    "src/cpp/server/server_context.cc",
1086    "src/cpp/server/server_credentials.cc",
1087    "src/cpp/server/server_posix.cc",
1088    "src/cpp/thread_manager/thread_manager.cc",
1089    "src/cpp/util/byte_buffer_cc.cc",
1090    "src/cpp/util/status.cc",
1091    "src/cpp/util/string_ref.cc",
1092    "src/cpp/util/time_cc.cc",
1093]
1094
1095cc_library_static {
1096    name: "libgrpc++_base",
1097    defaults: ["grpc_defaults"],
1098    srcs: GRPCXX_SRCS,
1099    local_include_dirs: [
1100        "include",
1101    ],
1102    static_libs: [
1103        "libgrpc",
1104    ],
1105    whole_static_libs: [
1106        "libgrpc++_codegen_base_src",
1107    ],
1108    cflags: [
1109        "-Wno-unused-parameter",
1110    ],
1111}
1112
1113cc_library_static {
1114    name: "libgrpc++_base_unsecure",
1115    defaults: ["grpc_defaults"],
1116    srcs: GRPCXX_SRCS,
1117    local_include_dirs: [
1118        "include",
1119    ],
1120    static_libs: [
1121        "libgrpc_unsecure",
1122    ],
1123    whole_static_libs: [
1124        "libgrpc++_codegen_base_src",
1125    ],
1126    cflags: [
1127        "-Wno-unused-parameter",
1128    ],
1129}
1130
1131cc_library_static {
1132    name: "libgrpc_base",
1133    defaults: ["grpc_defaults"],
1134    srcs: [
1135        "src/core/lib/surface/lame_client.cc",
1136    ],
1137    whole_static_libs: [
1138        "libgrpc_base_c",
1139    ],
1140    shared_libs: [
1141        "liblog",
1142    ],
1143}
1144
1145// gRPC C++ library target with no encryption or authentication
1146cc_library_shared {
1147    name: "libgrpc++_unsecure",
1148    defaults: ["grpc_defaults"],
1149    srcs: [
1150        "src/cpp/client/insecure_credentials.cc",
1151        "src/cpp/common/insecure_create_auth_context.cc",
1152        "src/cpp/server/insecure_server_credentials.cc",
1153    ],
1154    static_libs: [
1155        "libgrpc_unsecure",
1156    ],
1157    whole_static_libs: [
1158        "libgrpc++_base_unsecure",
1159    ],
1160    shared_libs: [
1161        "liblog",
1162    ],
1163    export_include_dirs: [
1164        "include",
1165        ".",
1166    ],
1167}
1168
1169// Secured gRPC C++ library target
1170cc_library_shared {
1171    name: "libgrpc++",
1172    defaults: ["grpc_defaults"],
1173    srcs: [
1174        "src/cpp/client/insecure_credentials.cc",
1175        "src/cpp/client/secure_credentials.cc",
1176        "src/cpp/common/auth_property_iterator.cc",
1177        "src/cpp/common/secure_auth_context.cc",
1178        "src/cpp/common/secure_channel_arguments.cc",
1179        "src/cpp/common/secure_create_auth_context.cc",
1180        "src/cpp/server/insecure_server_credentials.cc",
1181        "src/cpp/server/secure_server_credentials.cc",
1182    ],
1183    static_libs: [
1184        "libgrpc",
1185    ],
1186    whole_static_libs: [
1187        "libgrpc++_base",
1188    ],
1189    shared_libs: [
1190        "liblog",
1191        "libcrypto",
1192        "libssl",
1193    ],
1194    export_include_dirs: [
1195        "include",
1196        ".",
1197    ],
1198}
1199
1200// gRPC python library target
1201python_library_host {
1202    name: "py-grpc",
1203    srcs: ["src/python/**/*.py"],
1204    version: {
1205        py2: {
1206            enabled: true,
1207        },
1208        py3: {
1209            enabled: true,
1210        },
1211    },
1212    pkg_path: "grpc",
1213}
1214