54 lines
1.7 KiB
Rust
54 lines
1.7 KiB
Rust
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
use std::env;
|
|
use std::process::{Command, Stdio};
|
|
|
|
fn main() {
|
|
let out_dir = env::var("OUT_DIR").expect("Should have env var OUT_DIR");
|
|
let target = env::var("TARGET").expect("Should have env var TARGET");
|
|
|
|
let js_src = env::var("CARGO_MANIFEST_DIR").expect("Should have env var CARGO_MANIFEST_DIR");
|
|
|
|
env::set_current_dir(&js_src).unwrap();
|
|
|
|
let variant = if cfg!(feature = "debugmozjs") {
|
|
"plaindebug"
|
|
} else {
|
|
"plain"
|
|
};
|
|
|
|
let python = env::var("PYTHON").unwrap_or("python2.7".into());
|
|
let mut cmd = Command::new(&python);
|
|
cmd.args(&["./devtools/automation/autospider.py",
|
|
"--build-only",
|
|
"--objdir", &out_dir,
|
|
variant])
|
|
.env("SOURCE", &js_src)
|
|
.env("PWD", &js_src)
|
|
.env("AUTOMATION", "1")
|
|
.stdout(Stdio::inherit())
|
|
.stderr(Stdio::inherit());
|
|
println!("Running command: {:?}", cmd);
|
|
let result = cmd
|
|
.status()
|
|
.expect("Should spawn autospider OK");
|
|
assert!(result.success(), "autospider should exit OK");
|
|
|
|
println!("cargo:rustc-link-search=native={}/js/src", out_dir);
|
|
|
|
if target.contains("windows") {
|
|
println!("cargo:rustc-link-lib=winmm");
|
|
println!("cargo:rustc-link-lib=psapi");
|
|
if target.contains("gnu") {
|
|
println!("cargo:rustc-link-lib=stdc++");
|
|
}
|
|
} else {
|
|
println!("cargo:rustc-link-lib=stdc++");
|
|
}
|
|
|
|
println!("cargo:rustc-link-lib=static=js_static");
|
|
println!("cargo:outdir={}", out_dir);
|
|
}
|