summaryrefslogtreecommitdiff
path: root/cli/build.rs
diff options
context:
space:
mode:
authorcions <gh.cions@gmail.com>2024-01-10 22:04:14 +0900
committerGitHub <noreply@github.com>2024-01-10 06:04:14 -0700
commit881a62869db13199eff30231d4299d36faf143df (patch)
treee739decaa38309910485c0808b25df9a1e560534 /cli/build.rs
parent1bafde9cd03f42f490cf0e6e504a5606ac6b634e (diff)
fix: android support (#19437)
<!-- Before submitting a PR, please read https://deno.com/manual/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. 7. Open as a draft PR if your work is still in progress. The CI won't run all steps, but you can add '[ci]' to a commit message to force it to. 8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label. --> --------- Signed-off-by: Matt Mastracci <matthew@mastracci.com> Co-authored-by: Matt Mastracci <matthew@mastracci.com>
Diffstat (limited to 'cli/build.rs')
-rw-r--r--cli/build.rs23
1 files changed, 16 insertions, 7 deletions
diff --git a/cli/build.rs b/cli/build.rs
index f7efa8be7..d3f428c50 100644
--- a/cli/build.rs
+++ b/cli/build.rs
@@ -374,13 +374,16 @@ fn main() {
panic!("Cross compiling with snapshot is not supported.");
}
- let symbols_path = std::path::Path::new("napi").join(
- format!("generated_symbol_exports_list_{}.def", env::consts::OS).as_str(),
- )
- .canonicalize()
- .expect(
- "Missing symbols list! Generate using tools/napi/generate_symbols_lists.js",
- );
+ let symbols_file_name = match env::consts::OS {
+ "android" => "generated_symbol_exports_list_linux.def".to_string(),
+ os => format!("generated_symbol_exports_list_{}.def", os),
+ };
+ let symbols_path = std::path::Path::new("napi")
+ .join(symbols_file_name)
+ .canonicalize()
+ .expect(
+ "Missing symbols list! Generate using tools/napi/generate_symbols_lists.js",
+ );
#[cfg(target_os = "windows")]
println!(
@@ -413,6 +416,12 @@ fn main() {
}
}
+ #[cfg(target_os = "android")]
+ println!(
+ "cargo:rustc-link-arg-bin=deno=-Wl,--export-dynamic-symbol-list={}",
+ symbols_path.display()
+ );
+
// To debug snapshot issues uncomment:
// op_fetch_asset::trace_serializer();