lua-shared 0.1.0

Really simple wrapper around lua_shared(_srv) that tries not to be a total burden when interfacing with gmod's lua.
Documentation
use std::{env, path::PathBuf};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    println!("cargo:rerun-if-changed=build.rs");
    let triple = &env::var("TARGET")?;
    let mut target = triple.split("-");
    let arch = target.next().unwrap_or("x86_64");
    target.next();
    let os = target.next().unwrap_or("linux");
    let search_paths = match arch {
        "i686" => &[".", "bin/", "bin/linux32/", "garrysmod/bin/"][..],
        "x86_64" => &[".", "bin/linux64/", "linux64"][..],
        _ => &[][..],
    };
    for search_path in search_paths {
        println!("cargo:rustc-link-arg=-Wl,-rpath,{}", search_path);
    }
    let mut link_search_path = PathBuf::from(&env::var("CARGO_MANIFEST_DIR")?);
    link_search_path.push("lib");
    link_search_path.push(arch);
    link_search_path.push(os);
    if !link_search_path.exists() {
        panic!("Unsupported platform");
    }
    println!(
        "cargo:rustc-link-search=native={}",
        link_search_path.to_str().expect("wtf?")
    );
    Ok(())
}