compile tree-sitter-ruby

rewrite-it-in-rust
Brian Hicks 2021-01-07 06:16:29 -06:00
parent d32a27f069
commit ee77aa3ced
1 changed files with 23 additions and 6 deletions

View File

@ -4,18 +4,35 @@ use std::path::PathBuf;
fn main() {
println!("cargo:rerun-if-changed=build.rs");
let dir: PathBuf = ["vendor", "tree-sitter-elm", "src"].iter().collect();
// elm
let elm_dir: PathBuf = ["vendor", "tree-sitter-elm", "src"].iter().collect();
println!("cargo:rerun-if-changed=vendor/tree-sitter-elm/src/parser.c");
cc::Build::new()
.include(&dir)
.file(dir.join("parser.c"))
.include(&elm_dir)
.file(elm_dir.join("parser.c"))
.compile("tree-sitter-elm");
println!("cargo:rerun-if-changed=vendor/tree-sitter-elm/src/scanner.cc");
cc::Build::new()
.include(&dir)
.include(&elm_dir)
.cpp(true)
.file(dir.join("scanner.cc"))
.compile("tree_sitter_elm_scanner")
.file(elm_dir.join("scanner.cc"))
.compile("tree_sitter_elm_scanner");
// ruby
let ruby_dir: PathBuf = ["vendor", "tree-sitter-ruby", "src"].iter().collect();
println!("cargo:rerun-if-changed=vendor/tree-sitter-ruby/src/parser.c");
cc::Build::new()
.include(&ruby_dir)
.file(ruby_dir.join("parser.c"))
.compile("tree-sitter-ruby");
println!("cargo:rerun-if-changed=vendor/tree-sitter-ruby/src/scanner.cc");
cc::Build::new()
.include(&ruby_dir)
.cpp(true)
.file(ruby_dir.join("scanner.cc"))
.compile("tree_sitter_ruby_scanner");
}