liblibfdt: Add no_std variant for libfdt_baremetal
Add a second rlib that wraps the newly-created libfdt_baremetal
cc_library to ensure that baremetal clients (using the *_nostd library
variants) don't use the non-_baremetal C library. This allows baremetal
code to be compiled with a different set of Clang flags.
Test: m pvmfw
Change-Id: I71b50eeafe257fa6086805ca5a6b4c0de935bb32
diff --git a/guest/pvmfw/Android.bp b/guest/pvmfw/Android.bp
index b502af6..d0d309b 100644
--- a/guest/pvmfw/Android.bp
+++ b/guest/pvmfw/Android.bp
@@ -19,7 +19,7 @@
"libcstr",
"libdiced_open_dice_nostd",
"libfdtpci",
- "liblibfdt",
+ "liblibfdt_nostd",
"liblog_rust_nostd",
"libonce_cell_nostd",
"libpvmfw_avb_nostd",
diff --git a/guest/rialto/Android.bp b/guest/rialto/Android.bp
index 4c18bf9..eeb5b2d 100644
--- a/guest/rialto/Android.bp
+++ b/guest/rialto/Android.bp
@@ -15,7 +15,7 @@
"libcstr",
"libdiced_open_dice_nostd",
"libfdtpci",
- "liblibfdt",
+ "liblibfdt_nostd",
"liblog_rust_nostd",
"libservice_vm_comm_nostd",
"libservice_vm_fake_chain_nostd",
diff --git a/guest/vmbase_example/Android.bp b/guest/vmbase_example/Android.bp
index ff7bd83..49a6d69 100644
--- a/guest/vmbase_example/Android.bp
+++ b/guest/vmbase_example/Android.bp
@@ -12,7 +12,7 @@
"libcstr",
"libdiced_open_dice_nostd",
"libfdtpci",
- "liblibfdt",
+ "liblibfdt_nostd",
"liblog_rust_nostd",
"libvirtio_drivers",
"libvmbase",
diff --git a/libs/fdtpci/Android.bp b/libs/fdtpci/Android.bp
index e12c24f..d7a5da3 100644
--- a/libs/fdtpci/Android.bp
+++ b/libs/fdtpci/Android.bp
@@ -11,7 +11,7 @@
defaults: ["avf_build_flags_rust"],
srcs: ["src/lib.rs"],
rustlibs: [
- "liblibfdt",
+ "liblibfdt_nostd",
"liblog_rust_nostd",
"libvirtio_drivers",
],
diff --git a/libs/libfdt/Android.bp b/libs/libfdt/Android.bp
index 4ec0cc5..09f288d 100644
--- a/libs/libfdt/Android.bp
+++ b/libs/libfdt/Android.bp
@@ -25,8 +25,8 @@
apex_available: ["com.android.virt"],
}
-rust_library_rlib {
- name: "liblibfdt",
+rust_defaults {
+ name: "liblibfdt_defaults",
crate_name: "libfdt",
defaults: ["avf_build_flags_rust"],
srcs: [
@@ -34,23 +34,36 @@
":liblibfdt_bindgen",
],
edition: "2021",
- no_stdlibs: true,
- prefer_rlib: true,
- stdlibs: [
- "libcore.rust_sysroot",
- ],
rustlibs: [
"libcstr",
"liblibfdt_bindgen",
"libstatic_assertions",
"libzerocopy_nostd",
],
+}
+
+rust_library_rlib {
+ name: "liblibfdt",
+ defaults: ["liblibfdt_defaults"],
whole_static_libs: [
"libfdt",
],
apex_available: ["com.android.virt"],
}
+rust_library_rlib {
+ name: "liblibfdt_nostd",
+ defaults: ["liblibfdt_defaults"],
+ no_stdlibs: true,
+ prefer_rlib: true,
+ stdlibs: [
+ "libcore.rust_sysroot",
+ ],
+ whole_static_libs: [
+ "libfdt_baremetal",
+ ],
+}
+
rust_test {
name: "liblibfdt.integration_test",
crate_name: "libfdt_test",
diff --git a/libs/libvmbase/Android.bp b/libs/libvmbase/Android.bp
index ee12e85..e634c18 100644
--- a/libs/libvmbase/Android.bp
+++ b/libs/libvmbase/Android.bp
@@ -81,7 +81,7 @@
"libbuddy_system_allocator",
"libcstr",
"libfdtpci",
- "liblibfdt",
+ "liblibfdt_nostd",
"liblog_rust_nostd",
"libonce_cell_nostd",
"libsmccc",