agb/mgba-test-runner/build.rs

35 lines
1 KiB
Rust
Raw Normal View History

2021-07-03 16:33:15 +00:00
use std::{env, path::PathBuf};
2021-04-19 22:21:44 +01:00
2021-07-03 16:33:15 +00:00
const MGBA_VERSION: &str = "0.9.1";
2021-04-19 22:21:44 +01:00
fn main() {
2021-07-03 16:33:15 +00:00
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
let mgba_directory = out_path.join(format!("mgba-{}", MGBA_VERSION));
2021-08-01 18:02:52 +01:00
let out = std::process::Command::new("bash")
2021-07-03 16:33:15 +00:00
.arg("build-mgba.sh")
.arg(MGBA_VERSION)
.arg(&out_path)
.output()
.expect("should be able to build mgba");
2021-08-01 18:02:52 +01:00
if !out.status.success() {
panic!(
"failed to build mgba!\n{}",
String::from_utf8_lossy(&out.stderr),
);
}
2021-04-19 22:21:44 +01:00
cc::Build::new()
.file("c/test-runner.c")
2021-07-03 16:33:15 +00:00
.include(&mgba_directory.join("include"))
.static_flag(true)
2021-07-13 22:24:08 +01:00
.debug(true)
2021-04-19 22:21:44 +01:00
.compile("test-runner");
2021-05-23 05:06:35 +01:00
println!("cargo:rustc-link-search={}", out_path.to_str().unwrap());
println!("cargo:rustc-link-lib=static=mgba-cycle");
println!("cargo:rustc-link-lib=elf");
2021-07-03 22:18:34 +01:00
println!("cargo:rerun-if-changed=build-mgba.sh");
println!("cargo:rerun-if-changed=add_cycles_register.patch");
2021-04-19 22:21:44 +01:00
}