diff options
Diffstat (limited to 'gcc/gcc-test/build.rs')
-rw-r--r-- | gcc/gcc-test/build.rs | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/gcc/gcc-test/build.rs b/gcc/gcc-test/build.rs deleted file mode 100644 index e6308ed..0000000 --- a/gcc/gcc-test/build.rs +++ /dev/null @@ -1,94 +0,0 @@ -extern crate gcc; - -use std::env; -use std::fs; -use std::path::PathBuf; - -fn main() { - let out = PathBuf::from(env::var_os("OUT_DIR").unwrap()); - fs::remove_dir_all(&out).unwrap(); - fs::create_dir(&out).unwrap(); - - gcc::Build::new() - .file("src/foo.c") - .flag_if_supported("-Wall") - .flag_if_supported("-Wfoo-bar-this-flag-does-not-exist") - .define("FOO", None) - .define("BAR", "1") - .compile("foo"); - - gcc::Build::new() - .file("src/bar1.c") - .file("src/bar2.c") - .include("src/include") - .compile("bar"); - - let target = std::env::var("TARGET").unwrap(); - let file = target.split("-").next().unwrap(); - let file = format!("src/{}.{}", - file, - if target.contains("msvc") { "asm" } else { "S" }); - gcc::Build::new() - .file(file) - .compile("asm"); - - gcc::Build::new() - .file("src/baz.cpp") - .cpp(true) - .compile("baz"); - - if target.contains("windows") { - gcc::Build::new() - .file("src/windows.c") - .compile("windows"); - } - - // Test that the `windows_registry` module will set PATH by looking for - // nmake which runs vanilla cl, and then also test it after we remove all - // the relevant env vars from our own process. - if target.contains("msvc") { - let out = out.join("tmp"); - fs::create_dir(&out).unwrap(); - println!("nmake 1"); - let status = gcc::windows_registry::find(&target, "nmake.exe") - .unwrap() - .env_remove("MAKEFLAGS") - .arg("/fsrc/NMakefile") - .env("OUT_DIR", &out) - .status() - .unwrap(); - assert!(status.success()); - - fs::remove_dir_all(&out).unwrap(); - fs::create_dir(&out).unwrap(); - - env::remove_var("PATH"); - env::remove_var("VCINSTALLDIR"); - env::remove_var("INCLUDE"); - env::remove_var("LIB"); - println!("nmake 2"); - let status = gcc::windows_registry::find(&target, "nmake.exe") - .unwrap() - .env_remove("MAKEFLAGS") - .arg("/fsrc/NMakefile") - .env("OUT_DIR", &out) - .status() - .unwrap(); - assert!(status.success()); - println!("cargo:rustc-link-lib=msvc"); - println!("cargo:rustc-link-search={}", out.display()); - } - - // This tests whether we can build a library but not link it to the main - // crate. The test module will do its own linking. - gcc::Build::new() - .cargo_metadata(false) - .file("src/opt_linkage.c") - .compile("OptLinkage"); - - let out = gcc::Build::new() - .file("src/expand.c") - .expand(); - let out = String::from_utf8(out).unwrap(); - assert!(out.contains("hello world")); -} |