30 lines
796 B
Rust

use std::env;
use std::path::PathBuf;
fn main() {
let book_output_path = env::var("BOOK_OUTPUT_PATH").ok();
let out_dir = env::var("OUT_DIR").unwrap();
let pkg_name = env::var("CARGO_PKG_NAME").unwrap();
let target_path = PathBuf::from(out_dir)
.parent()
.unwrap()
.parent()
.unwrap()
.parent()
.unwrap()
.to_path_buf();
println!("cargo:rustc-link-arg=-sEXPORTED_RUNTIME_METHODS=['cwrap','ccall']");
println!("cargo:rustc-link-arg=-sEXPORT_ES6=1");
println!("cargo:rustc-link-arg=--no-entry");
println!(
"cargo:rustc-link-arg=-o{}.js",
book_output_path
.map(PathBuf::from)
.unwrap_or(target_path)
.join(pkg_name)
.to_string_lossy()
);
}