Merge "aconfig: remove libcxx dependency for now" into main am: fc14608190

Original change: https://android-review.googlesource.com/c/platform/build/+/2959066

Change-Id: I12b895794a562d8629b0756a112767beb5a90268
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Dennis Shen
2024-02-13 01:47:04 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 36 deletions

View File

@@ -14,7 +14,6 @@ rust_defaults {
"libprotobuf",
"libtempfile",
"libmemmap2",
"libcxx",
"libthiserror",
],
}
@@ -79,38 +78,3 @@ cc_library_static {
],
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"],
}

View File

@@ -256,6 +256,8 @@ pub fn get_boolean_flag_value(container: &str, offset: u32) -> Result<bool, Acon
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 @@ mod ffi {
}
/// 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 @@ pub fn get_package_offset_cxx_impl(
}
/// 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 @@ pub fn get_flag_offset_cxx_impl(
}
/// 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 @@ pub fn get_boolean_flag_value_cxx_impl(
}
/// 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 @@ pub fn get_flag_offset_cxx(
}
/// 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 @@ impl ffi::PackageOffsetQueryCXX {
}
}
#[cfg(feature = "cargo")]
impl ffi::FlagOffsetQueryCXX {
pub(crate) fn new(offset_result: Result<Option<FlagOffset>, AconfigStorageError>) -> Self {
match offset_result {
@@ -420,6 +430,7 @@ impl ffi::FlagOffsetQueryCXX {
}
}
#[cfg(feature = "cargo")]
impl ffi::BooleanFlagValueQueryCXX {
pub(crate) fn new(value_result: Result<bool, AconfigStorageError>) -> Self {
match value_result {