From 1060ac4ba0208ec662cdd3d40a28cb76c3b08746 Mon Sep 17 00:00:00 2001 From: MaxKing <1512347620@qq.com> Date: Tue, 20 Jan 2026 10:44:49 +0800 Subject: [PATCH 1/2] fix conditional compilation in Build Script (#230) --- frida-build/src/lib.rs | 8 +++++--- frida-gum-sys/build.rs | 21 ++++++++++++--------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/frida-build/src/lib.rs b/frida-build/src/lib.rs index af7abff8..fe641a64 100644 --- a/frida-build/src/lib.rs +++ b/frida-build/src/lib.rs @@ -46,9 +46,11 @@ fn download_and_use_devkit_internal( if !devkit_path.is_dir() { if !devkit_tar.is_file() { - let frida_url = format!( - "https://github.com/frida/frida/releases/download/{version}/{devkit_name}.tar.xz", - ); + let cdn = env::var("FRIDA_DOWNLOAD_CND") + .unwrap_or("https://github.com/frida/frida/releases/download".to_owned()); + let cdn = cdn.trim_end_matches("/"); + + let frida_url = format!("{cdn}/{version}/{devkit_name}.tar.xz",); println!( "cargo:warning=Frida {} devkit not found, downloading from {}...", diff --git a/frida-gum-sys/build.rs b/frida-gum-sys/build.rs index 5382a3b2..fd75e2c7 100644 --- a/frida-gum-sys/build.rs +++ b/frida-gum-sys/build.rs @@ -239,14 +239,17 @@ fn main() { } /* GUMJS contains v8 for some architectures, thus it needs to link stdc++ */ - #[cfg(all(feature = "js", target_os = "linux"))] - if target_os != "windows" { - println!("cargo:rustc-link-lib=dylib=stdc++"); + #[cfg(feature = "js")] + match target_os.as_str() { + "linux" => { + println!("cargo:rustc-link-lib=dylib=stdc++") + } + "android" => { + println!("cargo:rustc-link-lib=c++") + } + "macos" => { + println!("cargo:rustc-link-lib=resolv") + } + _ => {} } - - #[cfg(all(feature = "js", target_os = "android"))] - println!("cargo:rustc-link-lib=c++"); - - #[cfg(all(feature = "js", target_os = "macos"))] - println!("cargo:rustc-link-lib=resolv"); } From c4c2d31780d3a1e19767a10d8b8d568a38971979 Mon Sep 17 00:00:00 2001 From: MaxKing <1512347620@qq.com> Date: Tue, 20 Jan 2026 16:03:51 +0800 Subject: [PATCH 2/2] edit env name --- frida-build/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frida-build/src/lib.rs b/frida-build/src/lib.rs index fe641a64..0a5dffff 100644 --- a/frida-build/src/lib.rs +++ b/frida-build/src/lib.rs @@ -46,7 +46,7 @@ fn download_and_use_devkit_internal( if !devkit_path.is_dir() { if !devkit_tar.is_file() { - let cdn = env::var("FRIDA_DOWNLOAD_CND") + let cdn = env::var("FRIDA_DOWNLOAD_CDN") .unwrap_or("https://github.com/frida/frida/releases/download".to_owned()); let cdn = cdn.trim_end_matches("/");