1// This file is generated by cargo_embargo.
2// Do not modify this file because the changes will be overridden on upgrade.
3
4package {
5    default_applicable_licenses: ["external_rust_crates_grpcio-sys_license"],
6    default_team: "trendy_team_android_rust",
7}
8
9license {
10    name: "external_rust_crates_grpcio-sys_license",
11    visibility: [":__subpackages__"],
12    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
13    license_text: ["LICENSE"],
14}
15
16rust_library {
17    name: "libgrpcio_sys",
18    host_supported: true,
19    crate_name: "grpcio_sys",
20    cargo_env_compat: true,
21    cargo_pkg_version: "0.13.0+1.56.2-patched",
22    crate_root: "src/lib.rs",
23    srcs: [":libgrpc_bindgen"],
24    edition: "2018",
25    features: [
26        "_gen-bindings",
27        "_libz-sys",
28        "_secure",
29        "bindgen",
30        "boringssl",
31        "boringssl-src",
32        "libz-sys",
33    ],
34    rustlibs: [
35        "liblibc",
36        "liblibz_sys",
37    ],
38    apex_available: [
39        "//apex_available:platform",
40        "//apex_available:anyapex",
41    ],
42    product_available: true,
43    vendor_available: true,
44    min_sdk_version: "29",
45    shared_libs: [
46        "libgrpc++",
47        "libgrpc_wrap",
48    ],
49
50}
51
52cc_defaults {
53    name: "libgrpcio_sys_defaults",
54    cflags: [
55        "-DGRPC_SYS_SECURE",
56    ],
57    shared_libs: ["libgrpc++"],
58    apex_available: [
59        "//apex_available:anyapex",
60        "//apex_available:platform",
61        "com.android.btservices",
62    ],
63    product_available: true,
64    vendor_available: true,
65    min_sdk_version: "29",
66}
67
68cc_library {
69    name: "libgrpc_wrap",
70    defaults: ["libgrpcio_sys_defaults"],
71    host_supported: true,
72    srcs: ["grpc_wrap.cc"],
73}
74
75rust_bindgen {
76    name: "libgrpc_bindgen",
77    defaults: ["libgrpcio_sys_defaults"],
78    host_supported: true,
79    wrapper_src: "android/bindgen_wrapper.hpp",
80    source_stem: "grpc-bindings",
81    crate_name: "grpc_bindgen",
82    bindgen_flags: [
83        "--constified-enum-module grpc_status_code",
84        "--default-enum-style rust",
85        "--allowlist-function=\\bgrpc_.*",
86        "--allowlist-function=\\bgpr_.*",
87        "--allowlist-function=\\bgrpcwrap_.*",
88        "--allowlist-var=\\bGRPC_.*",
89        "--allowlist-type=\\bgrpc_.*",
90        "--allowlist-type=\\bgpr_.*",
91        "--allowlist-type=\\bgrpcwrap_.*",
92        "--allowlist-type=\\bcensus_context.*",
93        "--allowlist-type=\\bverify_peer_options.*",
94        "--blocklist-type=(__)?pthread.*",
95        "--blocklist-function=\\bgpr_mu_.*",
96        "--blocklist-function=\\bgpr_cv_.*",
97        "--blocklist-function=\\bgpr_once_.*",
98        "--blocklist-type=gpr_mu",
99        "--blocklist-type=gpr_cv",
100        "--blocklist-type=gpr_once",
101    ],
102    min_sdk_version: "29",
103}
104
105rust_test {
106    name: "libgrpc_bindgen_test",
107    srcs: [":libgrpc_bindgen"],
108    crate_name: "grpc_bindgen_test",
109    test_suites: ["general-tests"],
110    auto_gen_config: true,
111    clippy_lints: "none",
112    lints: "none",
113}
114