blob: e7d7f1cd7192cdb872c8dc52aab43cdf691e6d92 [file] [log] [blame]
diff --git a/Android.bp b/Android.bp
index 45707bc..d0369e6 100644
--- a/Android.bp
+++ b/Android.bp
@@ -38,7 +38,10 @@ rust_library {
name: "libgrpcio_sys",
host_supported: true,
crate_name: "grpcio_sys",
- srcs: ["src/lib.rs"],
+ srcs: [
+ "src/lib.rs",
+ ":libgrpc_bindgen",
+ ],
edition: "2018",
features: [
"bindgen",
@@ -50,51 +53,58 @@ rust_library {
"liblibc",
"liblibz_sys",
],
- static_libs: [
- "libabsl_bad_optional_access",
- "libabsl_bad_variant_access",
- "libabsl_base",
- "libabsl_city",
- "libabsl_civil_time",
- "libabsl_cord",
- "libabsl_debugging_internal",
- "libabsl_demangle_internal",
- "libabsl_exponential_biased",
- "libabsl_graphcycles_internal",
- "libabsl_hash",
- "libabsl_hashtablez_sampler",
- "libabsl_int128",
- "libabsl_log_severity",
- "libabsl_malloc_internal",
- "libabsl_raw_hash_set",
- "libabsl_raw_logging_internal",
- "libabsl_spinlock_wait",
- "libabsl_stacktrace",
- "libabsl_status",
- "libabsl_statusor",
- "libabsl_str_format_internal",
- "libabsl_strings",
- "libabsl_strings_internal",
- "libabsl_symbolize",
- "libabsl_synchronization",
- "libabsl_throw_delegate",
- "libabsl_time",
- "libabsl_time_zone",
- "libabsl_wyhash",
- "libaddress_sorting",
- "libcares",
- "libcrypto",
- "libgpr",
- "libgrpc",
- "libgrpc_wrap",
- "libre2",
- "libssl",
- "libupb",
- "libz",
+ shared_libs: [
+ "libgrpc++",
+ "libgrpc_wrap"
+ ],
+}
+
+cc_defaults {
+ name: "libgrpcio_sys_defaults",
+ cflags: [
+ "-DGRPC_SYS_SECURE",
],
- shared_libs: ["libstdc++"],
+ cpp_std: "c++11",
+ shared_libs: ["libgrpc++"],
+}
+
+cc_library {
+ name: "libgrpc_wrap",
+ defaults: ["libgrpcio_sys_defaults"],
+ host_supported: true,
+ srcs: ["grpc_wrap.cc"],
}
+rust_bindgen {
+ name: "libgrpc_bindgen",
+ defaults: ["libgrpcio_sys_defaults"],
+ host_supported: true,
+ wrapper_src: "android/bindgen_wrapper.hpp",
+ source_stem: "grpc-bindings",
+ crate_name: "grpc_bindgen",
+ bindgen_flags: [
+ "--size_t-is-usize",
+ "--constified-enum-module grpc_status_code",
+ "--default-enum-style rust",
+ "--allowlist-function=\\bgrpc_.*",
+ "--allowlist-function=\\bgpr_.*",
+ "--allowlist-function=\\bgrpcwrap_.*",
+ "--allowlist-var=\\bGRPC_.*",
+ "--allowlist-type=\\bgrpc_.*",
+ "--allowlist-type=\\bgpr_.*",
+ "--allowlist-type=\\bgrpcwrap_.*",
+ "--allowlist-type=\\bcensus_context.*",
+ "--allowlist-type=\\bverify_peer_options.*",
+ "--blocklist-type=(__)?pthread.*",
+ "--blocklist-function=\\bgpr_mu_.*",
+ "--blocklist-function=\\bgpr_cv_.*",
+ "--blocklist-function=\\bgpr_once_.*",
+ "--blocklist-type=gpr_mu",
+ "--blocklist-type=gpr_cv",
+ "--blocklist-type=gpr_once",
+ ]
+ }
+
// dependent_library ["feature_list"]
// bindgen-0.57.0 "runtime"
// bitflags-1.2.1 "default"