diff options
author | Andrew Walbran <qwandor@google.com> | 2022-04-14 11:52:01 +0000 |
---|---|---|
committer | Andrew Walbran <qwandor@google.com> | 2022-04-14 13:22:30 +0000 |
commit | 60b657631fbf273436569b355ef91d66e062563a (patch) | |
tree | b619093c261ac042480332cde19ac9635c2f1676 | |
parent | e2b41f22551f610979e2ddbfb529ec0e9e0cd120 (diff) | |
download | spin-60b657631fbf273436569b355ef91d66e062563a.tar.gz |
Add no_std version of library, with different set of features enabled.
This is necessary to use the spinlock implementation in no_std binaries
such as pVM firmware. Other users need the std features of the library
so we can't use the same target for both.
Bug: 223166344
Test: Ran pVM firmware with spinlock for console UART.
Change-Id: Ia06b1abedd3c6da0f75b0b131a669a7216db8877
-rw-r--r-- | Android.bp | 20 | ||||
-rw-r--r-- | cargo2android.json | 1 | ||||
-rw-r--r-- | cargo2android_nostd.bp | 18 |
3 files changed, 39 insertions, 0 deletions
@@ -71,6 +71,26 @@ rust_test { ], } +rust_library_rlib { + name: "libspin_nostd", + host_supported: true, + crate_name: "spin", + cargo_env_compat: true, + cargo_pkg_version: "0.9.2", + srcs: ["src/lib.rs"], + edition: "2015", + features: [ + "mutex", + "spin_mutex", + ], + apex_available: [ + "//apex_available:platform", + "com.android.virt", + ], + min_sdk_version: "29", +} + + // Errors when listing tests: // error[E0433]: failed to resolve: could not find `Mutex` in `spin` // error[E0433]: failed to resolve: could not find `RwLock` in `spin` diff --git a/cargo2android.json b/cargo2android.json index 1fff1ac..086d38a 100644 --- a/cargo2android.json +++ b/cargo2android.json @@ -1,4 +1,5 @@ { + "add-toplevel-block": "cargo2android_nostd.bp", "apex-available": [ "//apex_available:platform", "com.android.compos", diff --git a/cargo2android_nostd.bp b/cargo2android_nostd.bp new file mode 100644 index 0000000..49d0318 --- /dev/null +++ b/cargo2android_nostd.bp @@ -0,0 +1,18 @@ +rust_library_rlib { + name: "libspin_nostd", + host_supported: true, + crate_name: "spin", + cargo_env_compat: true, + cargo_pkg_version: "0.9.2", + srcs: ["src/lib.rs"], + edition: "2015", + features: [ + "mutex", + "spin_mutex", + ], + apex_available: [ + "//apex_available:platform", + "com.android.virt", + ], + min_sdk_version: "29", +} |