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