2023-08-09 03:40:00 +00:00
|
|
|
use std::{error::Error, path::PathBuf};
|
2023-03-06 06:19:23 +00:00
|
|
|
|
|
|
|
|
fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
|
2023-11-04 16:14:28 +00:00
|
|
|
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")
|
2023-12-25 03:12:25 +00:00
|
|
|
.join("aster-frame")
|
2023-11-04 16:14:28 +00:00
|
|
|
.join("src")
|
|
|
|
|
.join("arch")
|
|
|
|
|
.join("x86")
|
|
|
|
|
.join("linker.ld")
|
|
|
|
|
} else {
|
|
|
|
|
panic!("Unsupported target arch: {}", target);
|
|
|
|
|
};
|
2023-10-06 14:08:20 +00:00
|
|
|
println!("cargo:rerun-if-changed={}", linker_script_path.display());
|
|
|
|
|
println!("cargo:rustc-link-arg=-T{}", linker_script_path.display());
|
2023-03-06 06:19:23 +00:00
|
|
|
Ok(())
|
|
|
|
|
}
|