about summary refs log tree commit diff
path: root/compiler/rustc_driver/build.rs
blob: ba44fe7a86ed97949fd1fb501662f8f9566998b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std::{env, path};

use rustc_windows_rc::{VersionInfoFileType, compile_windows_resource_file};

fn main() {
    let target_os = env::var("CARGO_CFG_TARGET_OS");
    let target_env = env::var("CARGO_CFG_TARGET_ENV");
    if Ok("windows") == target_os.as_deref() && Ok("msvc") == target_env.as_deref() {
        set_windows_dll_options();
    } else {
        // Avoid rerunning the build script every time.
        println!("cargo:rerun-if-changed=build.rs");
    }
}

fn set_windows_dll_options() {
    let stem = path::PathBuf::from("rustc_driver_resource");
    let file_description = "rustc_driver";
    let res_file = compile_windows_resource_file(&stem, file_description, VersionInfoFileType::Dll);
    println!("cargo:rustc-link-arg={}", res_file.display());
}