use std::path::Path; fn main() { let out_dir = std::env::var("OUT_DIR").unwrap(); let lib_dir = Path::new(&out_dir).join("libmpv_link"); let _ = std::fs::create_dir_all(&lib_dir); let candidates = [ "/lib/x86_64-linux-gnu/libmpv.so.2", "/usr/lib/x86_64-linux-gnu/libmpv.so.2", "/usr/lib64/libmpv.so.2", "/lib/x86_64-linux-gnu/libmpv.so.1", "/usr/lib/x86_64-linux-gnu/libmpv.so.1", "/usr/lib/libmpv.so.2", "/usr/lib/libmpv.so.1", ]; let dest = lib_dir.join("libmpv.so"); for candidate in &candidates { if Path::new(candidate).exists() { let _ = std::fs::remove_file(&dest); #[cfg(unix)] let _ = std::os::unix::fs::symlink(candidate, &dest); println!("cargo:rustc-link-search=native={}", lib_dir.display()); break; } } println!("cargo:rustc-link-lib=mpv"); println!("cargo:rerun-if-changed=build.rs"); }