summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Walbran <qwandor@google.com>2023-12-04 16:14:31 +0000
committerAndrew Walbran <qwandor@google.com>2023-12-04 16:59:59 +0000
commit2a78f125fb88ad0d06f71fd468d9076b537433e8 (patch)
tree82ff9161298e992270b308df03cc895bbbc34c2f
parentf08f333d7c94f04c07ca6d88e03e330bcacdf236 (diff)
downloadgrpcio-sys-2a78f125fb88ad0d06f71fd468d9076b537433e8.tar.gz
Fix cargo2android.
Test: Ran cargo2android.py Change-Id: I3689bc352a5eab9bbcd6448d52c97fdeb9f2156e
-rw-r--r--Android.bp17
-rw-r--r--cargo2android.json1
-rw-r--r--grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h2
-rw-r--r--patches/Android.bp.patch10
-rw-r--r--patches/env.diff9
-rw-r--r--patches/stdint.patch13
-rw-r--r--src/lib.rs4
7 files changed, 40 insertions, 16 deletions
diff --git a/Android.bp b/Android.bp
index 82d85f09..bd5d9043 100644
--- a/Android.bp
+++ b/Android.bp
@@ -39,10 +39,7 @@ rust_library {
host_supported: true,
crate_name: "grpcio_sys",
cargo_env_compat: true,
- srcs: [
- "src/lib.rs",
- ":libgrpc_bindgen",
- ],
+ srcs: ["src/lib.rs", ":libgrpc_bindgen"],
edition: "2018",
features: [
"_gen-bindings",
@@ -51,21 +48,22 @@ rust_library {
"boringssl",
"boringssl-src",
],
+ cfgs: ["soong"],
rustlibs: [
"liblibc",
"liblibz_sys",
],
- shared_libs: [
- "libgrpc++",
- "libgrpc_wrap"
- ],
apex_available: [
"//apex_available:platform",
"com.android.btservices",
],
- product_available: false,
vendor_available: true,
min_sdk_version: "29",
+ shared_libs: [
+ "libgrpc++",
+ "libgrpc_wrap"
+ ]
+ ,
}
cc_defaults {
@@ -130,3 +128,4 @@ rust_test {
clippy_lints: "none",
lints: "none",
}
+
diff --git a/cargo2android.json b/cargo2android.json
index 900f061e..9b5eaefa 100644
--- a/cargo2android.json
+++ b/cargo2android.json
@@ -5,7 +5,6 @@
],
"device": true,
"features": "boringssl,_gen-bindings",
- "ignore-cargo-errors": true,
"min-sdk-version": "29",
"no-pkg-vers": true,
"patch": "patches/Android.bp.patch",
diff --git a/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
index 55cbb56d..b696c4fe 100644
--- a/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
+++ b/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
@@ -19,6 +19,8 @@
#include <limits.h>
#include <cstddef>
+// Added to fix compilation errors as it was missing. Should be fixed upstream.
+#include <cstdint>
#include <cstring>
#include <ostream>
diff --git a/patches/Android.bp.patch b/patches/Android.bp.patch
index 2b849d8d..baf35eb7 100644
--- a/patches/Android.bp.patch
+++ b/patches/Android.bp.patch
@@ -1,5 +1,5 @@
diff --git a/Android.bp b/Android.bp
-index 6f8fdea..c629c0d 100644
+index 4bcdbd5..bd5d904 100644
--- a/Android.bp
+++ b/Android.bp
@@ -39,7 +39,7 @@ rust_library {
@@ -11,3 +11,11 @@ index 6f8fdea..c629c0d 100644
edition: "2018",
features: [
"_gen-bindings",
+@@ -48,6 +48,7 @@ rust_library {
+ "boringssl",
+ "boringssl-src",
+ ],
++ cfgs: ["soong"],
+ rustlibs: [
+ "liblibc",
+ "liblibz_sys",
diff --git a/patches/env.diff b/patches/env.diff
index f6155c51..f4dfea1a 100644
--- a/patches/env.diff
+++ b/patches/env.diff
@@ -1,15 +1,16 @@
diff --git a/src/lib.rs b/src/lib.rs
-index dc0699c..bd4e4fa 100644
+index dc0699c..0d582d7 100644
--- a/src/lib.rs
+++ b/src/lib.rs
-@@ -5,7 +5,10 @@
+@@ -5,7 +5,12 @@
#![allow(non_upper_case_globals)]
#[allow(clippy::all)]
mod bindings {
-- include!(env!("BINDING_PATH"));
-+ //include!(env!("BINDING_PATH"));
++ #[cfg(not(soong))]
+ include!(env!("BINDING_PATH"));
+ // ANDROID's build system doesn't support environment variables
+ // so we hardcode the output location of the bindings here.
++ #[cfg(soong)]
+ include!(concat!(env!("OUT_DIR"), "/grpc-bindings.rs"));
}
mod grpc_wrap;
diff --git a/patches/stdint.patch b/patches/stdint.patch
new file mode 100644
index 00000000..06d4b67c
--- /dev/null
+++ b/patches/stdint.patch
@@ -0,0 +1,13 @@
+diff --git a/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
+index 55cbb56..b696c4f 100644
+--- a/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
++++ b/grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
+@@ -19,6 +19,8 @@
+ #include <limits.h>
+
+ #include <cstddef>
++// Added to fix compilation errors as it was missing. Should be fixed upstream.
++#include <cstdint>
+ #include <cstring>
+ #include <ostream>
+
diff --git a/src/lib.rs b/src/lib.rs
index bd4e4fa0..0d582d76 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -5,9 +5,11 @@
#![allow(non_upper_case_globals)]
#[allow(clippy::all)]
mod bindings {
- //include!(env!("BINDING_PATH"));
+ #[cfg(not(soong))]
+ include!(env!("BINDING_PATH"));
// ANDROID's build system doesn't support environment variables
// so we hardcode the output location of the bindings here.
+ #[cfg(soong)]
include!(concat!(env!("OUT_DIR"), "/grpc-bindings.rs"));
}
mod grpc_wrap;