add dockerfile
This commit is contained in:
25
crates/rsh-backend/build.rs
Normal file
25
crates/rsh-backend/build.rs
Normal file
@@ -0,0 +1,25 @@
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
fn resolve_stub(env_var: &str, out_name: &str, out_dir: &Path) -> PathBuf {
|
||||
println!("cargo:rerun-if-env-changed={env_var}");
|
||||
let dest = out_dir.join(out_name);
|
||||
if let Ok(src) = std::env::var(env_var) {
|
||||
let src = PathBuf::from(&src);
|
||||
if src.exists() {
|
||||
println!("cargo:rerun-if-changed={}", src.display());
|
||||
std::fs::copy(&src, &dest).expect("copy stub");
|
||||
return dest;
|
||||
}
|
||||
println!("cargo:warning={env_var} set to {src:?} but file not found; serving 503 for this arch");
|
||||
}
|
||||
std::fs::write(&dest, []).expect("write placeholder");
|
||||
dest
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let out_dir = PathBuf::from(std::env::var("OUT_DIR").unwrap());
|
||||
let x86 = resolve_stub("RSH_STUB_X86_64", "rsh-x86_64", &out_dir);
|
||||
let arm = resolve_stub("RSH_STUB_AARCH64", "rsh-aarch64", &out_dir);
|
||||
println!("cargo:rustc-env=STUB_X86_64_PATH={}", x86.display());
|
||||
println!("cargo:rustc-env=STUB_AARCH64_PATH={}", arm.display());
|
||||
}
|
||||
Reference in New Issue
Block a user