tree-sitter/build.rs

28 lines
849 B
Rust
Raw Normal View History

2016-07-10 14:03:00 -07:00
extern crate cc;
use std::env;
2018-05-18 10:01:37 -07:00
use std::path::PathBuf;
2016-07-10 14:03:00 -07:00
fn main() {
let mut config = cc::Build::new();
2018-05-18 10:01:37 -07:00
let root_path: PathBuf = ["vendor", "tree-sitter"].iter().collect();
config
2018-05-18 10:27:36 -07:00
.define("UTF8PROC_STATIC", "")
2018-05-18 10:01:37 -07:00
.flag_if_supported("-std=c99")
.flag_if_supported("-Wno-unused-parameter")
.include(root_path.join("src"))
.include(root_path.join("include"))
.include(root_path.join("externals").join("utf8proc"))
.file(root_path.join("src").join("runtime").join("runtime.c"));
2016-07-10 14:03:00 -07:00
if env::var("RUST_TREE_SITTER_TEST").is_ok() {
2018-05-18 10:01:37 -07:00
let parser_dir: PathBuf = ["fixtures", "tree-sitter-rust", "src"].iter().collect();
config
.file(parser_dir.join("parser.c"))
.file(parser_dir.join("scanner.c"));
2016-07-10 14:03:00 -07:00
}
2018-05-18 10:01:37 -07:00
config.compile("tree-sitter-runtime");
2016-07-10 14:03:00 -07:00
}