build.rs 622 B

123456789101112131415161718
  1. use std::env;
  2. fn main() -> Result<(), Box<dyn std::error::Error>> {
  3. println!("cargo:rerun-if-changed=build.rs");
  4. let triple = &env::var("TARGET")?;
  5. let mut target = triple.split("-");
  6. let arch = target.next().unwrap_or("x86_64");
  7. let search_paths = match arch {
  8. "i686" => &[".", "bin/", "bin/linux32/", "garrysmod/bin/"][..],
  9. "x86_64" => &[".", "bin/linux64/", "linux64"][..],
  10. _ => &[][..],
  11. };
  12. for search_path in search_paths {
  13. println!("cargo:rustc-link-arg=-Wl,-rpath,{}", search_path);
  14. println!("cargo:warning={:?}", search_path);
  15. }
  16. Ok(())
  17. }