Create no_std builds of ciborium and dependencies
pvmfw, which is no_std (but with alloc) needs to be able to read &
write CBOR (for the DICE chain), so we need a no_std version of
ciborium.
Bug: 266172411
Test: atest MicrodroidTests
Change-Id: Ia8bae9fffd7c2b98a623153c02392a81adf24fe3
diff --git a/Android.bp b/Android.bp
index c8f737b..46dfd24 100644
--- a/Android.bp
+++ b/Android.bp
@@ -42,3 +42,23 @@
product_available: true,
vendor_available: true,
}
+
+rust_library_rlib {
+ name: "libciborium_nostd",
+ crate_name: "ciborium",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.2.0",
+ srcs: ["src/lib.rs"],
+ edition: "2021",
+ prefer_rlib: true,
+ no_stdlibs: true,
+ rustlibs: [
+ "libciborium_io_nostd",
+ "libciborium_ll_nostd",
+ "libserde_nostd",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+}
diff --git a/cargo2android.json b/cargo2android.json
index e256313..07c27da 100644
--- a/cargo2android.json
+++ b/cargo2android.json
@@ -1,4 +1,5 @@
{
+ "add-toplevel-block": "cargo2android_nostd.bp",
"device": true,
"run": true,
"dependencies": true,
diff --git a/cargo2android_nostd.bp b/cargo2android_nostd.bp
new file mode 100644
index 0000000..1b35e95
--- /dev/null
+++ b/cargo2android_nostd.bp
@@ -0,0 +1,19 @@
+rust_library_rlib {
+ name: "libciborium_nostd",
+ crate_name: "ciborium",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.2.0",
+ srcs: ["src/lib.rs"],
+ edition: "2021",
+ prefer_rlib: true,
+ no_stdlibs: true,
+ rustlibs: [
+ "libciborium_io_nostd",
+ "libciborium_ll_nostd",
+ "libserde_nostd",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+}