<commit_before>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");
}<commit_msg>Build parser.c and scanner.cc separately<commit_after>use std::path::PathBuf;

fn main() {
    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");
}
{'fraction_non_alphanumeric': 0.1941135248773651, 'fraction_numerical': 0.0, 'mean_word_length': 3.576923076923077, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6299280', 'n_tokens_mistral': 504, 'n_tokens_neox': 499, 'n_words': 66}