Merge "aconfig: remove libcxx dependency for now" into main
diff --git a/tools/aconfig/aconfig_storage_file/Android.bp b/tools/aconfig/aconfig_storage_file/Android.bp
index 8922ba4..03402b5 100644
--- a/tools/aconfig/aconfig_storage_file/Android.bp
+++ b/tools/aconfig/aconfig_storage_file/Android.bp
@@ -14,7 +14,6 @@
         "libprotobuf",
         "libtempfile",
         "libmemmap2",
-        "libcxx",
         "libthiserror",
     ],
 }
@@ -79,38 +78,3 @@
     ],
     host_supported: true,
 }
-
-genrule {
-    name: "libcxx_aconfig_storage_bridge_code",
-    tools: ["cxxbridge"],
-    cmd: "$(location cxxbridge) $(in) > $(out)",
-    srcs: ["src/lib.rs"],
-    out: ["aconfig_storage/lib.rs.cc"],
-}
-
-genrule {
-    name: "libcxx_aconfig_storage_bridge_header",
-    tools: ["cxxbridge"],
-    cmd: "$(location cxxbridge) $(in) --header > $(out)",
-    srcs: ["src/lib.rs"],
-    out: ["aconfig_storage/lib.rs.h"],
-}
-
-rust_ffi_static {
-    name: "libaconfig_storage_cxx_bridge",
-    crate_name: "aconfig_storage_cxx_bridge",
-    host_supported: true,
-    defaults: ["aconfig_storage_file.defaults"],
-}
-
-cc_library_static {
-    name: "libaconfig_storage_cc",
-    srcs: ["aconfig_storage.cpp"],
-    generated_headers: [
-        "cxx-bridge-header",
-        "libcxx_aconfig_storage_bridge_header"
-    ],
-    generated_sources: ["libcxx_aconfig_storage_bridge_code"],
-    whole_static_libs: ["libaconfig_storage_cxx_bridge"],
-    export_include_dirs: ["include"],
-}
diff --git a/tools/aconfig/aconfig_storage_file/src/lib.rs b/tools/aconfig/aconfig_storage_file/src/lib.rs
index 84e0e90..130a0e0 100644
--- a/tools/aconfig/aconfig_storage_file/src/lib.rs
+++ b/tools/aconfig/aconfig_storage_file/src/lib.rs
@@ -256,6 +256,8 @@
     get_boolean_flag_value_impl(STORAGE_LOCATION_FILE, container, offset)
 }
 
+
+#[cfg(feature = "cargo")]
 #[cxx::bridge]
 mod ffi {
     // Package table query return for cc interlop
@@ -317,6 +319,7 @@
 }
 
 /// Get package start offset impl cc interlop
+#[cfg(feature = "cargo")]
 pub fn get_package_offset_cxx_impl(
     pb_file: &str,
     container: &str,
@@ -326,6 +329,7 @@
 }
 
 /// Get flag start offset impl cc interlop
+#[cfg(feature = "cargo")]
 pub fn get_flag_offset_cxx_impl(
     pb_file: &str,
     container: &str,
@@ -336,6 +340,7 @@
 }
 
 /// Get boolean flag value impl cc interlop
+#[cfg(feature = "cargo")]
 pub fn get_boolean_flag_value_cxx_impl(
     pb_file: &str,
     container: &str,
@@ -345,11 +350,13 @@
 }
 
 /// Get package start offset cc interlop
+#[cfg(feature = "cargo")]
 pub fn get_package_offset_cxx(container: &str, package: &str) -> ffi::PackageOffsetQueryCXX {
     ffi::PackageOffsetQueryCXX::new(get_package_offset(container, package))
 }
 
 /// Get flag start offset cc interlop
+#[cfg(feature = "cargo")]
 pub fn get_flag_offset_cxx(
     container: &str,
     package_id: u32,
@@ -359,10 +366,12 @@
 }
 
 /// Get boolean flag value cc interlop
+#[cfg(feature = "cargo")]
 pub fn get_boolean_flag_value_cxx(container: &str, offset: u32) -> ffi::BooleanFlagValueQueryCXX {
     ffi::BooleanFlagValueQueryCXX::new(get_boolean_flag_value(container, offset))
 }
 
+#[cfg(feature = "cargo")]
 impl ffi::PackageOffsetQueryCXX {
     pub(crate) fn new(offset_result: Result<Option<PackageOffset>, AconfigStorageError>) -> Self {
         match offset_result {
@@ -393,6 +402,7 @@
     }
 }
 
+#[cfg(feature = "cargo")]
 impl ffi::FlagOffsetQueryCXX {
     pub(crate) fn new(offset_result: Result<Option<FlagOffset>, AconfigStorageError>) -> Self {
         match offset_result {
@@ -420,6 +430,7 @@
     }
 }
 
+#[cfg(feature = "cargo")]
 impl ffi::BooleanFlagValueQueryCXX {
     pub(crate) fn new(value_result: Result<bool, AconfigStorageError>) -> Self {
         match value_result {