diff --git a/frida-build/src/lib.rs b/frida-build/src/lib.rs index af7abff8..0a5dffff 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_CDN") + .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"); }