You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: build.rs
    path of file: ./repos/recisdb-rs/recisdb-rs
    
    the code of the file until where you have to start completion: extern crate bindgen;
extern crate cc;
extern crate glob;

use std::env;
use std::path::PathBuf;

fn main() {
    // if cfg!(target_os = "linux") {
    //     println!("cargo:rustc-link-arg=-Wl,--unresolved-symbols=ignore-in-object-files");
    // } else if cfg!(target_os = "windows") && cf
    
fn main() {
    // if cfg!(target_os = "linux") {
    //     println!("cargo:rustc-link-arg=-Wl,--unresolved-symbols=ignore-in-object-files");
    // } else if cfg!(target_os = "windows") && cfg!(target_env = "msvc") {
    //     println!("cargo:rustc-link-arg=/FORCE:UNRESOLVED");
    // }
    let out_dir = env::var("OUT_DIR").unwrap();
    let out_path = PathBuf::from(&out_dir);

    //IBon
    let bindings = {
        let bg = bindgen::builder()
            .allowlist_type("IBonDriver[1-9]?")
            .allowlist_function("CreateBonDriver")
            .header("src/tuner/windows/IBonDriver.hpp")
            .dynamic_library_name("BonDriver")
            .dynamic_link_require_all(true)
            .parse_callbacks(Box::new(bindgen::CargoCallbacks));

        bg
            // Finish the builder and generate the bindings.
            .generate()
            // Unwrap the Result and panic on failure.
            .expect("Unable to generate bindings")
    };
    // Write the bindings to the $OUT_DIR/bindings.rs file.
    bindings
        .write_to_file(out_path.join("BonDriver_binding.rs"))
        .expect("Couldn't write bindings");

    let mut compiler = cc::Build::new();

    let globs = &[
        "src/tuner/windows/IBonDriver.cpp",
        "src/tuner/windows/vtable_resolver/*.cpp",
    ];
    for pattern in globs {
        for path in glob::glob(pattern).unwrap() {
            let path = path.unwrap();
            println!("cargo:rerun-if-changed={}", path.display());
            compiler.file(path);
        }
    }

    compiler
        .cpp(true)
        .warnings(false)
        .compile("BonDriver_dynamic_cast_ffi");
}