blob: 16c5f03e819bd4b05ca34987c690340745a60746 [file] [log] [blame]
--- Android.bp 2020-10-30 19:20:08.709277813 -0700
+++ Android.bp 2020-10-30 19:17:57.837789872 -0700
@@ -4,7 +4,10 @@
name: "libgrpcio_sys",
host_supported: true,
crate_name: "grpcio_sys",
- srcs: ["src/lib.rs"],
+ srcs: [
+ "src/lib.rs",
+ ":libgrpc_bindgen",
+ ],
edition: "2018",
features: [
"default",
@@ -14,32 +17,57 @@
"liblibc",
"liblibz_sys",
],
- static_libs: [
- "libabsl_bad_optional_access",
- "libabsl_base",
- "libabsl_civil_time",
- "libabsl_dynamic_annotations",
- "libabsl_int128",
- "libabsl_log_severity",
- "libabsl_raw_logging_internal",
- "libabsl_spinlock_wait",
- "libabsl_str_format_internal",
- "libabsl_strings",
- "libabsl_strings_internal",
- "libabsl_throw_delegate",
- "libabsl_time",
- "libabsl_time_zone",
- "libaddress_sorting",
- "libcares",
- "libcrypto",
- "libgpr",
- "libgrpc",
- "libgrpc_wrap",
- "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",
+ "--whitelist-function=\\bgrpc_.*",
+ "--whitelist-function=\\bgpr_.*",
+ "--whitelist-function=gpr_inf_future",
+ "--whitelist-function=\\bgrpcwrap_.*",
+ "--whitelist-var=\\bGRPC_.*",
+ "--whitelist-type=\\bgrpc_.*",
+ "--whitelist-type=\\bgpr_.*",
+ "--whitelist-type=\\bgrpcwrap_.*",
+ "--whitelist-type=\\bcensus_context.*",
+ "--whitelist-type=\\bverify_peer_options.*",
+ "--blacklist-type=(__)?pthread.*",
+ "--blacklist-function=\\bgpr_mu_.*",
+ "--blacklist-function=\\bgpr_cv_.*",
+ "--blacklist-function=\\bgpr_once_.*",
+ "--blacklist-type=gpr_mu",
+ "--blacklist-type=gpr_cv",
+ "--blacklist-type=gpr_once",
+ ]
}
// dependent_library ["feature_list"]