diff options
author | Sergii Parubochyi <sergiip@google.com> | 2023-10-16 13:05:07 +1100 |
---|---|---|
committer | Sergii Parubochyi <sergiip@google.com> | 2023-10-17 15:47:49 +1100 |
commit | cfb21e96639f3b8037f8dd47d74a30503c02b739 (patch) | |
tree | 76b37006288cb8acf7121d04211bb64458a1b5d0 | |
parent | e5706fcac14315071e617920fa0ee2702548ac84 (diff) | |
download | avb-cfb21e96639f3b8037f8dd47d74a30503c02b739.tar.gz |
Add missing rust target
Adding 'host_supported' target.
Adding missing variants for host tests dependency. GBL target depends on it (b/294059574)
Test: mm
Change-Id: I4e591402cc3d967e68f54f177576f2f1104b42e5
-rw-r--r-- | rust/Android.bp | 28 | ||||
-rw-r--r-- | rust/src/lib.rs | 5 |
2 files changed, 29 insertions, 4 deletions
diff --git a/rust/Android.bp b/rust/Android.bp index 685f51b..6284bfc 100644 --- a/rust/Android.bp +++ b/rust/Android.bp @@ -76,10 +76,16 @@ rust_test { // Rust library wrapping libavb C implementation. rust_defaults { - name: "libavb_rs.defaults", + name: "libavb_rs_common.defaults", + crate_name: "avb", srcs: ["src/lib.rs"], // Require unsafe blocks for inside unsafe functions. flags: ["-Dunsafe_op_in_unsafe_fn"], +} + +rust_defaults { + name: "libavb_rs_nostd.defaults", + defaults: ["libavb_rs_common.defaults"], rustlibs: [ "libavb_bindgen_nostd", ], @@ -88,11 +94,27 @@ rust_defaults { ], } +rust_defaults { + name: "libavb_rs.defaults", + defaults: ["libavb_rs_common.defaults"], + host_supported: true, + rustlibs: [ + "libavb_bindgen", + ], + whole_static_libs: [ + "libavb", + ], +} + +rust_library { + name: "libavb_rs", + defaults: ["libavb_rs.defaults"], +} + rust_library_rlib { name: "libavb_rs_nostd", - crate_name: "avb", prefer_rlib: true, - defaults: ["libavb_rs.defaults"], + defaults: ["libavb_rs_nostd.defaults"], no_stdlibs: true, stdlibs: [ "libcore.rust_sysroot", diff --git a/rust/src/lib.rs b/rust/src/lib.rs index adb3796..6a63baa 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -21,7 +21,10 @@ //! //! This library is [no_std] for portability. -#![cfg_attr(not(test), no_std)] +// ANDROID: Use std to allow building as a dylib. +// This condition lets us make the hack to add a dependency on std for the +// panic_handler and eh_personality conditional on actually building a dylib. +#![cfg_attr(not(any(test, android_dylib)), no_std)] mod error; mod verify; |