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: I3d2a1f4185a6ec41ba8205f2306e37e6823998b6
diff --git a/Android.bp b/Android.bp
index 17c243e..156a5cc 100644
--- a/Android.bp
+++ b/Android.bp
@@ -37,3 +37,22 @@
product_available: true,
vendor_available: true,
}
+
+rust_library_rlib {
+ name: "libciborium_io_nostd",
+ crate_name: "ciborium_io",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.2.0",
+ srcs: ["src/lib.rs"],
+ edition: "2021",
+ prefer_rlib: true,
+ no_stdlibs: true,
+ stdlibs: [
+ "libcompiler_builtins.rust_sysroot",
+ "libcore.rust_sysroot",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+}
diff --git a/cargo2android.json b/cargo2android.json
index 4a369d5..eb19901 100644
--- a/cargo2android.json
+++ b/cargo2android.json
@@ -1,4 +1,5 @@
{
+ "add-toplevel-block": "cargo2android_nostd.bp",
"device": true,
"features": "alloc,std,",
"run": true,
diff --git a/cargo2android_nostd.bp b/cargo2android_nostd.bp
new file mode 100644
index 0000000..6ec59a8
--- /dev/null
+++ b/cargo2android_nostd.bp
@@ -0,0 +1,18 @@
+rust_library_rlib {
+ name: "libciborium_io_nostd",
+ crate_name: "ciborium_io",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.2.0",
+ srcs: ["src/lib.rs"],
+ edition: "2021",
+ prefer_rlib: true,
+ no_stdlibs: true,
+ stdlibs: [
+ "libcompiler_builtins.rust_sysroot",
+ "libcore.rust_sysroot",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+}