mirror of
https://github.com/github/codeql.git
synced 2026-02-19 16:33:40 +01:00
Build parser.c and scanner.cc separately
This commit is contained in:
@@ -1,14 +1,27 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
fn main() {
|
||||
let dir: PathBuf = ["../tree-sitter-ruby", "src"].iter().collect();
|
||||
let mut build = cc::Build::new();
|
||||
build
|
||||
.include(&dir)
|
||||
.file(&dir.join("parser.c"))
|
||||
.file(&dir.join("scanner.cc"));
|
||||
if !cfg!(windows) {
|
||||
build.cpp(true).compiler("clang");
|
||||
}
|
||||
build.compile("tree-sitter-ruby");
|
||||
let src_dir: PathBuf = ["..", "tree-sitter-ruby", "src"].iter().collect();
|
||||
|
||||
let mut c_config = cc::Build::new();
|
||||
c_config.include(&src_dir);
|
||||
c_config
|
||||
.flag_if_supported("-Wno-unused-parameter")
|
||||
.flag_if_supported("-Wno-unused-but-set-variable")
|
||||
.flag_if_supported("-Wno-trigraphs");
|
||||
let parser_path = src_dir.join("parser.c");
|
||||
c_config.file(&parser_path);
|
||||
println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap());
|
||||
c_config.compile("parser");
|
||||
|
||||
let mut cpp_config = cc::Build::new();
|
||||
cpp_config.cpp(true);
|
||||
cpp_config.include(&src_dir);
|
||||
cpp_config
|
||||
.flag_if_supported("-Wno-unused-parameter")
|
||||
.flag_if_supported("-Wno-unused-but-set-variable");
|
||||
let scanner_path = src_dir.join("scanner.cc");
|
||||
cpp_config.file(&scanner_path);
|
||||
println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap());
|
||||
cpp_config.compile("scanner");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user