diff --git a/base/BUILD.gn b/base/BUILD.gn index dd4aa59fa0524a4c8c9b6d9cdbc92bd8549a6691..5cd94cd80f9fdeb5997b5fab2c0884f4fed6c150 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn @@ -277,7 +277,14 @@ if (host_os == "linux" && host_cpu != "arm64" && !is_arkui_x && current_os != "m "${target_gen_dir}", ] deps = [ ":cxx_rust_gen" ] - external_deps = [ "rust_cxx:cxx_cppdeps" ] + + if (defined(global_parts_info) && + !defined(global_parts_info.third_party_rust_cxx)) { + deps += [ "//third_party/rust/crates/cxx:cxx_cppdeps" ] + } else { + external_deps = [ "rust_cxx:cxx_cppdeps" ] + } + public_external_deps = [ "bounds_checking_function:libsec_shared" ] subsystem_name = "commonlibrary" part_name = "c_utils" @@ -294,7 +301,14 @@ if (!is_arkui_x && !(host_os == "linux" && host_cpu == "arm64") && current_os != "src/rust/lib.rs", ] deps = [ ":utils_static_cxx_rust" ] - external_deps = [ "rust_cxx:lib" ] + + if (defined(global_parts_info) && + !defined(global_parts_info.third_party_rust_cxx)) { + deps += [ "//third_party/rust/crates/cxx:lib" ] + } else { + external_deps = [ "rust_cxx:lib" ] + } + crate_root = "src/rust/lib.rs" crate_name = "utils_rust" crate_type = "dylib" diff --git a/base/test/unittest/rust/BUILD.gn b/base/test/unittest/rust/BUILD.gn index fed3c97764ebbc626749d8f5c56142197b5a3703..eccc3e5c46bf787949cb96ce3643390376bda242 100644 --- a/base/test/unittest/rust/BUILD.gn +++ b/base/test/unittest/rust/BUILD.gn @@ -44,13 +44,25 @@ if (host_os == "linux" && !is_asan && !is_arkui_x) { module_out_path = "c_utils/rust" sources = [ "rust_utils_file_test.rs" ] deps = [ "//commonlibrary/c_utils/base:utils_rust" ] - external_deps = [ "rust_cxx:lib" ] + + if (defined(global_parts_info) && + !defined(global_parts_info.third_party_rust_cxx)) { + deps += [ "//third_party/rust/crates/cxx:lib" ] + } else { + external_deps = [ "rust_cxx:lib" ] + } } ohos_rust_unittest("rust_utils_directory_test") { module_out_path = "c_utils/rust" sources = [ "rust_utils_directory_test.rs" ] deps = [ "//commonlibrary/c_utils/base:utils_rust" ] - external_deps = [ "rust_cxx:lib" ] + + if (defined(global_parts_info) && + !defined(global_parts_info.third_party_rust_cxx)) { + deps += [ "//third_party/rust/crates/cxx:lib" ] + } else { + external_deps = [ "rust_cxx:lib" ] + } } }