Merge "Revert "aconfig: remove libcxx dependency for now"" into main
This commit is contained in:
@@ -14,6 +14,7 @@ rust_defaults {
|
|||||||
"libprotobuf",
|
"libprotobuf",
|
||||||
"libtempfile",
|
"libtempfile",
|
||||||
"libmemmap2",
|
"libmemmap2",
|
||||||
|
"libcxx",
|
||||||
"libthiserror",
|
"libthiserror",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
@@ -78,3 +79,38 @@ cc_library_static {
|
|||||||
],
|
],
|
||||||
host_supported: true,
|
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"],
|
||||||
|
}
|
||||||
|
@@ -256,8 +256,6 @@ pub fn get_boolean_flag_value(container: &str, offset: u32) -> Result<bool, Acon
|
|||||||
get_boolean_flag_value_impl(STORAGE_LOCATION_FILE, container, offset)
|
get_boolean_flag_value_impl(STORAGE_LOCATION_FILE, container, offset)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
#[cxx::bridge]
|
#[cxx::bridge]
|
||||||
mod ffi {
|
mod ffi {
|
||||||
// Package table query return for cc interlop
|
// Package table query return for cc interlop
|
||||||
@@ -319,7 +317,6 @@ mod ffi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get package start offset impl cc interlop
|
/// Get package start offset impl cc interlop
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
pub fn get_package_offset_cxx_impl(
|
pub fn get_package_offset_cxx_impl(
|
||||||
pb_file: &str,
|
pb_file: &str,
|
||||||
container: &str,
|
container: &str,
|
||||||
@@ -329,7 +326,6 @@ pub fn get_package_offset_cxx_impl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get flag start offset impl cc interlop
|
/// Get flag start offset impl cc interlop
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
pub fn get_flag_offset_cxx_impl(
|
pub fn get_flag_offset_cxx_impl(
|
||||||
pb_file: &str,
|
pb_file: &str,
|
||||||
container: &str,
|
container: &str,
|
||||||
@@ -340,7 +336,6 @@ pub fn get_flag_offset_cxx_impl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get boolean flag value impl cc interlop
|
/// Get boolean flag value impl cc interlop
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
pub fn get_boolean_flag_value_cxx_impl(
|
pub fn get_boolean_flag_value_cxx_impl(
|
||||||
pb_file: &str,
|
pb_file: &str,
|
||||||
container: &str,
|
container: &str,
|
||||||
@@ -350,13 +345,11 @@ pub fn get_boolean_flag_value_cxx_impl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get package start offset cc interlop
|
/// Get package start offset cc interlop
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
pub fn get_package_offset_cxx(container: &str, package: &str) -> ffi::PackageOffsetQueryCXX {
|
pub fn get_package_offset_cxx(container: &str, package: &str) -> ffi::PackageOffsetQueryCXX {
|
||||||
ffi::PackageOffsetQueryCXX::new(get_package_offset(container, package))
|
ffi::PackageOffsetQueryCXX::new(get_package_offset(container, package))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get flag start offset cc interlop
|
/// Get flag start offset cc interlop
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
pub fn get_flag_offset_cxx(
|
pub fn get_flag_offset_cxx(
|
||||||
container: &str,
|
container: &str,
|
||||||
package_id: u32,
|
package_id: u32,
|
||||||
@@ -366,12 +359,10 @@ pub fn get_flag_offset_cxx(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get boolean flag value cc interlop
|
/// Get boolean flag value cc interlop
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
pub fn get_boolean_flag_value_cxx(container: &str, offset: u32) -> ffi::BooleanFlagValueQueryCXX {
|
pub fn get_boolean_flag_value_cxx(container: &str, offset: u32) -> ffi::BooleanFlagValueQueryCXX {
|
||||||
ffi::BooleanFlagValueQueryCXX::new(get_boolean_flag_value(container, offset))
|
ffi::BooleanFlagValueQueryCXX::new(get_boolean_flag_value(container, offset))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
impl ffi::PackageOffsetQueryCXX {
|
impl ffi::PackageOffsetQueryCXX {
|
||||||
pub(crate) fn new(offset_result: Result<Option<PackageOffset>, AconfigStorageError>) -> Self {
|
pub(crate) fn new(offset_result: Result<Option<PackageOffset>, AconfigStorageError>) -> Self {
|
||||||
match offset_result {
|
match offset_result {
|
||||||
@@ -402,7 +393,6 @@ impl ffi::PackageOffsetQueryCXX {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
impl ffi::FlagOffsetQueryCXX {
|
impl ffi::FlagOffsetQueryCXX {
|
||||||
pub(crate) fn new(offset_result: Result<Option<FlagOffset>, AconfigStorageError>) -> Self {
|
pub(crate) fn new(offset_result: Result<Option<FlagOffset>, AconfigStorageError>) -> Self {
|
||||||
match offset_result {
|
match offset_result {
|
||||||
@@ -430,7 +420,6 @@ impl ffi::FlagOffsetQueryCXX {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "cargo")]
|
|
||||||
impl ffi::BooleanFlagValueQueryCXX {
|
impl ffi::BooleanFlagValueQueryCXX {
|
||||||
pub(crate) fn new(value_result: Result<bool, AconfigStorageError>) -> Self {
|
pub(crate) fn new(value_result: Result<bool, AconfigStorageError>) -> Self {
|
||||||
match value_result {
|
match value_result {
|
||||||
|
Reference in New Issue
Block a user