// Copyright 2014-2017 The html5ever Project Developers. See the // COPYRIGHT file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. use std::env; use std::path::Path; use std::thread::Builder; #[path = "macros/match_token.rs"] mod match_token; fn main() { let manifest_dir = env::var("CARGO_MANIFEST_DIR").unwrap(); let input = Path::new(&manifest_dir).join("src/tree_builder/rules.rs"); let output = Path::new(&env::var("OUT_DIR").unwrap()).join("rules.rs"); println!("cargo:rerun-if-changed={}", input.display()); #[cfg(target_os = "haiku")] let stack_size = 16; #[cfg(not(target_os = "haiku"))] let stack_size = 128; // We have stack overflows on Servo's CI. let handle = Builder::new() .stack_size(stack_size * 1024 * 1024) .spawn(move || { match_token::expand(&input, &output); }) .unwrap(); handle.join().unwrap(); }