diff options
author | Andrew Walbran <qwandor@google.com> | 2023-12-04 16:14:31 +0000 |
---|---|---|
committer | Andrew Walbran <qwandor@google.com> | 2023-12-04 16:59:59 +0000 |
commit | 2a78f125fb88ad0d06f71fd468d9076b537433e8 (patch) | |
tree | 82ff9161298e992270b308df03cc895bbbc34c2f | |
parent | f08f333d7c94f04c07ca6d88e03e330bcacdf236 (diff) | |
download | grpcio-sys-2a78f125fb88ad0d06f71fd468d9076b537433e8.tar.gz |
Fix cargo2android.
Test: Ran cargo2android.py
Change-Id: I3689bc352a5eab9bbcd6448d52c97fdeb9f2156e
-rw-r--r-- | Android.bp | 17 | ||||
-rw-r--r-- | cargo2android.json | 1 | ||||
-rw-r--r-- | grpc/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h | 2 | ||||
-rw-r--r-- | patches/Android.bp.patch | 10 | ||||
-rw-r--r-- | patches/env.diff | 9 | ||||
-rw-r--r-- | patches/stdint.patch | 13 | ||||
-rw-r--r-- | src/lib.rs | 4 |
7 files changed, 40 insertions, 16 deletions
@@ -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> + @@ -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; |