asterinas/build.rs
2023-12-26 11:49:24 +08:00

20 lines
689 B
Rust

use std::{error::Error, path::PathBuf};
fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
let target = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
let linker_script_path = if target == "x86_64" {
PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap())
.join("framework")
.join("aster-frame")
.join("src")
.join("arch")
.join("x86")
.join("linker.ld")
} else {
panic!("Unsupported target arch: {}", target);
};
println!("cargo:rerun-if-changed={}", linker_script_path.display());
println!("cargo:rustc-link-arg=-T{}", linker_script_path.display());
Ok(())
}